geospacelab 0.12.1__tar.gz → 0.12.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. {geospacelab-0.12.1/geospacelab.egg-info → geospacelab-0.12.2}/PKG-INFO +2 -2
  2. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/__init__.py +1 -1
  3. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/cdaweb/downloader.py +8 -2
  4. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/satellites/dmsp/e/__init__.py +4 -3
  5. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/satellites/dmsp/s1/__init__.py +4 -4
  6. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/satellites/dmsp/s4/__init__.py +3 -3
  7. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/observatory/orbit/utilities.py +281 -1
  8. {geospacelab-0.12.1 → geospacelab-0.12.2/geospacelab.egg-info}/PKG-INFO +2 -2
  9. {geospacelab-0.12.1 → geospacelab-0.12.2}/setup.py +2 -1
  10. {geospacelab-0.12.1 → geospacelab-0.12.2}/LICENSE +0 -0
  11. {geospacelab-0.12.1 → geospacelab-0.12.2}/MANIFEST.in +0 -0
  12. {geospacelab-0.12.1 → geospacelab-0.12.2}/README.md +0 -0
  13. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/config/__init__.py +0 -0
  14. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/config/__mpl__.py +0 -0
  15. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/config/_preferences.py +0 -0
  16. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/cs/__init__.py +0 -0
  17. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/cs/_aacgm.py +0 -0
  18. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/cs/_apex.py +0 -0
  19. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/cs/_cs_base.py +0 -0
  20. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/cs/_geo.py +0 -0
  21. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/cs/geo_utilities.py +0 -0
  22. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/__dataset_base__.py +0 -0
  23. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/__init__.py +0 -0
  24. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/__metadata_base__.py +0 -0
  25. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/__variable_base__.py +0 -0
  26. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/__init__.py +0 -0
  27. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/cdaweb/__init__.py +0 -0
  28. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/cdaweb/dmsp/__init__.py +0 -0
  29. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/cdaweb/dmsp/ssusi/__init__.py +0 -0
  30. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/cdaweb/dmsp/ssusi/downloader.py +0 -0
  31. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/cdaweb/dmsp/ssusi/edr_aur/__init__.py +0 -0
  32. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/cdaweb/dmsp/ssusi/edr_aur/downloader.py +0 -0
  33. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/cdaweb/dmsp/ssusi/edr_aur/loader.py +0 -0
  34. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/cdaweb/dmsp/ssusi/edr_aur/variable_config.py +0 -0
  35. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/cdaweb/dmsp/ssusi/sdr_disk/__init__.py +0 -0
  36. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/cdaweb/dmsp/ssusi/sdr_disk/downloader.py +0 -0
  37. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/cdaweb/dmsp/ssusi/sdr_disk/loader.py +0 -0
  38. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/cdaweb/dmsp/ssusi/sdr_disk/variable_config.py +0 -0
  39. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/cdaweb/downloader_backup.py +0 -0
  40. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/cdaweb/omni/__init__.py +0 -0
  41. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/cdaweb/omni/downloader.py +0 -0
  42. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/cdaweb/omni/loader.py +0 -0
  43. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/cdaweb/omni/variable_config.py +0 -0
  44. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/__init__.py +0 -0
  45. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/__init__.py +0 -0
  46. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/advanced/__init__.py +0 -0
  47. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/advanced/efi_lp_fp/__init__.py +0 -0
  48. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/advanced/efi_lp_hm/__init__.py +0 -0
  49. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/advanced/efi_lp_hm/downloader.py +0 -0
  50. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/advanced/efi_lp_hm/loader.py +0 -0
  51. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/advanced/efi_lp_hm/variable_config.py +0 -0
  52. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/advanced/efi_tct02/__init__.py +0 -0
  53. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/advanced/efi_tct02/downloader.py +0 -0
  54. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/advanced/efi_tct02/loader.py +0 -0
  55. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/advanced/efi_tct02/variable_config.py +0 -0
  56. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/advanced/efi_tct16/__init__.py +0 -0
  57. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/downloader.py +0 -0
  58. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l1b/__init__.py +0 -0
  59. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l1b/mag_hr/__init__.py +0 -0
  60. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l1b/mag_hr/downloader.py +0 -0
  61. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l1b/mag_hr/loader.py +0 -0
  62. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l1b/mag_hr/variable_config.py +0 -0
  63. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l1b/mag_lr/__init__.py +0 -0
  64. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l1b/mag_lr/downloader.py +0 -0
  65. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l1b/mag_lr/loader.py +0 -0
  66. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l1b/mag_lr/variable_config.py +0 -0
  67. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l2d/__init__.py +0 -0
  68. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l2daily/__init__.py +0 -0
  69. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l2daily/aej_lpl/__init__.py +0 -0
  70. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l2daily/aej_lpl/downloader.py +0 -0
  71. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l2daily/aej_lpl/loader.py +0 -0
  72. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l2daily/aej_lpl/variable_config.py +0 -0
  73. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l2daily/dns_acc/__init__.py +0 -0
  74. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l2daily/dns_acc/downloader.py +0 -0
  75. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l2daily/dns_acc/loader.py +0 -0
  76. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l2daily/dns_acc/variable_config.py +0 -0
  77. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l2daily/dns_pod/__init__.py +0 -0
  78. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l2daily/dns_pod/downloader.py +0 -0
  79. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l2daily/dns_pod/loader.py +0 -0
  80. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l2daily/dns_pod/variable_config.py +0 -0
  81. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l2daily/fac_tms/__init__.py +0 -0
  82. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l2daily/fac_tms/downloader.py +0 -0
  83. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l2daily/fac_tms/loader.py +0 -0
  84. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l2daily/fac_tms/variable_config.py +0 -0
  85. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/l2l/__init__.py +0 -0
  86. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/loader.py +0 -0
  87. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/esa_eo/swarm/multimission/__init__.py +0 -0
  88. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/fmi/__init__.py +0 -0
  89. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/fmi/image/__init__.py +0 -0
  90. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/fmi/image/ie/__init__.py +0 -0
  91. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/fmi/image/ie/downloader.py +0 -0
  92. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/fmi/image/ie/loader.py +0 -0
  93. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/fmi/image/ie/variable_config.py +0 -0
  94. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/fmi/miracle/__init__.py +0 -0
  95. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/fmi/miracle/abk/__init__.py +0 -0
  96. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/fmi/miracle/kev/__init__.py +0 -0
  97. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/fmi/miracle/muo/__init__.py +0 -0
  98. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/gfz/__init__.py +0 -0
  99. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/gfz/downloader.py +0 -0
  100. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/gfz/hpo/__init__.py +0 -0
  101. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/gfz/hpo/downloader.py +0 -0
  102. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/gfz/hpo/loader.py +0 -0
  103. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/gfz/hpo/nowcast/__init__.py +0 -0
  104. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/gfz/hpo/nowcast/downloader.py +0 -0
  105. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/gfz/hpo/variable_config.py +0 -0
  106. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/gfz/kpap/__init__.py +0 -0
  107. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/gfz/kpap/downloader.py +0 -0
  108. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/gfz/kpap/loader.py +0 -0
  109. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/gfz/kpap/nowcast/__init__.py +0 -0
  110. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/gfz/kpap/nowcast/downloader.py +0 -0
  111. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/gfz/kpap/nowcast/loader.py +0 -0
  112. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/gfz/kpap/nowcast/variable_config.py +0 -0
  113. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/gfz/kpap/variable_config.py +0 -0
  114. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/gfz/snf107/__init__.py +0 -0
  115. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/gfz/snf107/loader.py +0 -0
  116. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/gfz/snf107/variable_config.py +0 -0
  117. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/isee/__init__.py +0 -0
  118. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/isee/gnss/__init__.py +0 -0
  119. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/isee/gnss/tecmap/__init__.py +0 -0
  120. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/isee/gnss/tecmap/downloader.py +0 -0
  121. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/isee/gnss/tecmap/loader.py +0 -0
  122. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/isee/gnss/tecmap/variable_config.py +0 -0
  123. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/jhuapl/__init__.py +0 -0
  124. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/jhuapl/ampere/__init__.py +0 -0
  125. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/jhuapl/ampere/downloader.py +0 -0
  126. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/jhuapl/ampere/fitted/__init__.py +0 -0
  127. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/jhuapl/ampere/fitted/loader.py +0 -0
  128. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/jhuapl/ampere/fitted/variable_config.py +0 -0
  129. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/jhuapl/ampere/grd/__init__.py +0 -0
  130. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/jhuapl/ampere/grd/downloader.py +0 -0
  131. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/jhuapl/ampere/grd/loader.py +0 -0
  132. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/jhuapl/ampere/grd/variable_config.py +0 -0
  133. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/jhuapl/dmsp/__init__.py +0 -0
  134. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/jhuapl/dmsp/ssusi/__init__.py +0 -0
  135. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/jhuapl/dmsp/ssusi/downloader.py +0 -0
  136. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/jhuapl/dmsp/ssusi/edraur/__init__.py +0 -0
  137. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/jhuapl/dmsp/ssusi/edraur/loader.py +0 -0
  138. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/jhuapl/dmsp/ssusi/edraur/variable_config.py +0 -0
  139. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/jhuapl/dmsp/ssusi/sdrdisk/__init__.py +0 -0
  140. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/jhuapl/dmsp/ssusi/sdrdisk/loader.py +0 -0
  141. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/jhuapl/dmsp/ssusi/sdrdisk/variable_config.py +0 -0
  142. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/__init__.py +0 -0
  143. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/downloader.py +0 -0
  144. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/gnss/__init__.py +0 -0
  145. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/gnss/tecmap/__init__.py +0 -0
  146. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/gnss/tecmap/downloader.py +0 -0
  147. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/gnss/tecmap/loader.py +0 -0
  148. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/gnss/tecmap/variable_config.py +0 -0
  149. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/__init__.py +0 -0
  150. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/eiscat/__init__.py +0 -0
  151. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/eiscat/downloader.py +0 -0
  152. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/eiscat/examples/__init__.py +0 -0
  153. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/eiscat/examples/eiscat_hdf5_info.py +0 -0
  154. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/eiscat/loader.py +0 -0
  155. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/eiscat/utilities.py +0 -0
  156. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/eiscat/variable_config.py +0 -0
  157. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/millstonehill/__init__.py +0 -0
  158. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/millstonehill/basic/__init__.py +0 -0
  159. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/millstonehill/basic/loader.py +0 -0
  160. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/millstonehill/basic/variable_config.py +0 -0
  161. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/millstonehill/downloader.py +0 -0
  162. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/millstonehill/gridded/__init__.py +0 -0
  163. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/millstonehill/gridded/loader.py +0 -0
  164. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/millstonehill/gridded/variable_config.py +0 -0
  165. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/millstonehill/vi/__init__.py +0 -0
  166. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/millstonehill/vi/loader.py +0 -0
  167. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/millstonehill/vi/variable_config.py +0 -0
  168. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/pfisr/__init__.py +0 -0
  169. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/pfisr/downloader.py +0 -0
  170. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/pfisr/fitted/__init__.py +0 -0
  171. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/pfisr/fitted/downloader.py +0 -0
  172. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/pfisr/fitted/loader.py +0 -0
  173. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/pfisr/fitted/variable_config.py +0 -0
  174. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/pfisr/vi/__init__.py +0 -0
  175. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/pfisr/vi/downloader.py +0 -0
  176. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/pfisr/vi/loader.py +0 -0
  177. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/pfisr/vi/variable_config.py +0 -0
  178. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/risr_n/__init__.py +0 -0
  179. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/risr_n/downloader.py +0 -0
  180. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/risr_n/fitted/__init__.py +0 -0
  181. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/risr_n/fitted/downloader.py +0 -0
  182. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/risr_n/fitted/loader.py +0 -0
  183. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/risr_n/fitted/variable_config.py +0 -0
  184. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/risr_n/vi/__init__.py +0 -0
  185. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/risr_n/vi/downloader.py +0 -0
  186. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/risr_n/vi/loader.py +0 -0
  187. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/isr/risr_n/vi/variable_config.py +0 -0
  188. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/satellites/__init__.py +0 -0
  189. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/satellites/dmsp/__init__.py +0 -0
  190. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/satellites/dmsp/downloader.py +0 -0
  191. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/satellites/dmsp/e/loader.py +0 -0
  192. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/satellites/dmsp/e/variable_config.py +0 -0
  193. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/satellites/dmsp/s1/loader.py +0 -0
  194. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/satellites/dmsp/s1/variable_config.py +0 -0
  195. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/satellites/dmsp/s4/loader.py +0 -0
  196. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/satellites/dmsp/s4/variable_config.py +0 -0
  197. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/madrigal/utilities.py +0 -0
  198. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/ncei/__init__.py +0 -0
  199. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/ncei/dmsp/__init__.py +0 -0
  200. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/ncei/dmsp/downloader.py +0 -0
  201. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/ncei/dmsp/ssm_mfr/__init__.py +0 -0
  202. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/ncei/dmsp/ssm_mfr/downloader.py +0 -0
  203. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/ncei/dmsp/ssm_mfr/loader.py +0 -0
  204. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/ncei/dmsp/ssm_mfr/variable_config.py +0 -0
  205. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/nipr/__init__.py +0 -0
  206. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/nipr/asc/__init__.py +0 -0
  207. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/nipr/asc/tro_wmi/__init__.py +0 -0
  208. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/nipr/asc/tro_wmi/loader.py +0 -0
  209. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/nipr/asc/tro_wmi/variable_config.py +0 -0
  210. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/noaa/__init__.py +0 -0
  211. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/noaa/swpc/__init__.py +0 -0
  212. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/noaa/swpc/goesxray/__init__.py +0 -0
  213. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/noaa/swpc/solarwind/__init__.py +0 -0
  214. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/superdarn/__init__.py +0 -0
  215. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/superdarn/potmap/__init__.py +0 -0
  216. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/superdarn/potmap/downloader.py +0 -0
  217. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/superdarn/potmap/loader.py +0 -0
  218. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/superdarn/potmap/variable_config.py +0 -0
  219. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/supermag/__init__.py +0 -0
  220. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/supermag/indices/__init__.py +0 -0
  221. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/supermag/indices/downloader.py +0 -0
  222. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/supermag/indices/loader.py +0 -0
  223. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/supermag/indices/variable_config.py +0 -0
  224. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/supermag/magnetometer/__init__.py +0 -0
  225. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/supermag/magnetometer/downloader.py +0 -0
  226. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/supermag/magnetometer/loader.py +0 -0
  227. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/supermag/magnetometer/variable_config.py +0 -0
  228. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/supermag/supermag_api.py +0 -0
  229. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/supermag/utilities.py +0 -0
  230. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/__init__.py +0 -0
  231. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/champ/__init__.py +0 -0
  232. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/champ/dns_acc/__init__.py +0 -0
  233. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/champ/dns_acc/downloader.py +0 -0
  234. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/champ/dns_acc/loader.py +0 -0
  235. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/champ/dns_acc/variable_config.py +0 -0
  236. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/champ/wnd_acc/__init__.py +0 -0
  237. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/champ/wnd_acc/downloader.py +0 -0
  238. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/champ/wnd_acc/loader.py +0 -0
  239. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/champ/wnd_acc/variable_config.py +0 -0
  240. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/downloader.py +0 -0
  241. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/goce/__init__.py +0 -0
  242. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/goce/dns_acc/__init__.py +0 -0
  243. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/goce/dns_acc/downloader.py +0 -0
  244. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/goce/dns_acc/loader.py +0 -0
  245. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/goce/dns_acc/variable_config.py +0 -0
  246. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/goce/dns_wnd_acc_v01/__init__.py +0 -0
  247. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/goce/dns_wnd_acc_v01/downloader.py +0 -0
  248. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/goce/dns_wnd_acc_v01/loader.py +0 -0
  249. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/goce/dns_wnd_acc_v01/variable_config.py +0 -0
  250. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/goce/wnd_acc/__init__.py +0 -0
  251. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/goce/wnd_acc/downloader.py +0 -0
  252. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/goce/wnd_acc/loader.py +0 -0
  253. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/goce/wnd_acc/variable_config.py +0 -0
  254. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/grace/__init__.py +0 -0
  255. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/grace/dns_acc/__init__.py +0 -0
  256. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/grace/dns_acc/downloader.py +0 -0
  257. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/grace/dns_acc/loader.py +0 -0
  258. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/grace/dns_acc/variable_config.py +0 -0
  259. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/grace/wnd_acc/__init__.py +0 -0
  260. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/grace/wnd_acc/downloader.py +0 -0
  261. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/grace/wnd_acc/loader.py +0 -0
  262. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/grace/wnd_acc/variable_config.py +0 -0
  263. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/grace_fo/__init__.py +0 -0
  264. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/grace_fo/dns_acc/__init__.py +0 -0
  265. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/grace_fo/dns_acc/downloader.py +0 -0
  266. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/grace_fo/dns_acc/loader.py +0 -0
  267. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/grace_fo/dns_acc/variable_config.py +0 -0
  268. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/grace_fo/wnd_acc/__init__.py +0 -0
  269. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/grace_fo/wnd_acc/downloader.py +0 -0
  270. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/grace_fo/wnd_acc/loader.py +0 -0
  271. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/grace_fo/wnd_acc/variable_config.py +0 -0
  272. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/swarm/__init__.py +0 -0
  273. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/swarm/dns_acc/__init__.py +0 -0
  274. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/swarm/dns_acc/downloader.py +0 -0
  275. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/swarm/dns_acc/loader.py +0 -0
  276. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/swarm/dns_acc/variable_config.py +0 -0
  277. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/swarm/dns_pod/__init__.py +0 -0
  278. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/swarm/dns_pod/downloader.py +0 -0
  279. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/swarm/dns_pod/loader.py +0 -0
  280. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/tud/swarm/dns_pod/variable_config.py +0 -0
  281. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/wdc/__init__.py +0 -0
  282. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/wdc/ae/__init__.py +0 -0
  283. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/wdc/ae/downloader.py +0 -0
  284. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/wdc/ae/loader.py +0 -0
  285. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/wdc/ae/variable_config.py +0 -0
  286. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/wdc/asysym/__init__.py +0 -0
  287. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/wdc/asysym/downloader.py +0 -0
  288. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/wdc/asysym/loader.py +0 -0
  289. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/wdc/asysym/variable_config.py +0 -0
  290. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/wdc/dst/__init__.py +0 -0
  291. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/wdc/dst/downloader.py +0 -0
  292. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/wdc/dst/loader.py +0 -0
  293. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/datahub/sources/wdc/dst/variable_config.py +0 -0
  294. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/express/__init__.py +0 -0
  295. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/express/dmsp_dashboard.py +0 -0
  296. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/express/eiscat_dashboard.py +0 -0
  297. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/express/millstonehill_dashboard.py +0 -0
  298. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/express/omni_dashboard.py +0 -0
  299. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/future/__init__.py +0 -0
  300. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/future/empiricalmodels/__init__.py +0 -0
  301. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/future/empiricalmodels/ovationprime2010/__init__.py +0 -0
  302. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/future/empiricalmodels/ovationprime2010/ovationprime.py +0 -0
  303. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/future/satllites/__init__.py +0 -0
  304. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/future/satllites/orbit_analyzer.py +0 -0
  305. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/future/test_sscws.py +0 -0
  306. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/observatory/__init__.py +0 -0
  307. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/observatory/constants.py +0 -0
  308. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/observatory/earth/__init__.py +0 -0
  309. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/observatory/earth/_func.py +0 -0
  310. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/observatory/earth/constants.py +0 -0
  311. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/observatory/earth/geodesy.py +0 -0
  312. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/observatory/earth/sun_position.py +0 -0
  313. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/observatory/orbit/__init__.py +0 -0
  314. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/observatory/orbit/sc_orbit.py +0 -0
  315. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/observatory/site/__init__.py +0 -0
  316. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/observatory/site/mixins.py +0 -0
  317. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/quantity/__init__.py +0 -0
  318. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/toolbox/__init__.py +0 -0
  319. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/toolbox/io/__init__.py +0 -0
  320. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/toolbox/io/dialog.py +0 -0
  321. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/toolbox/unit/__init__.py +0 -0
  322. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/toolbox/utilities/__init__.py +0 -0
  323. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/toolbox/utilities/numpyarray.py +0 -0
  324. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/toolbox/utilities/numpymath.py +0 -0
  325. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/toolbox/utilities/pybasic.py +0 -0
  326. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/toolbox/utilities/pyclass.py +0 -0
  327. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/toolbox/utilities/pydatetime.py +0 -0
  328. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/toolbox/utilities/pylogging.py +0 -0
  329. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/toolbox/utilities/pyos.py +0 -0
  330. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/visualization/__init__.py +0 -0
  331. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/visualization/mpl/__base__.py +0 -0
  332. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/visualization/mpl/__init__.py +0 -0
  333. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/visualization/mpl/_helpers.py +0 -0
  334. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/visualization/mpl/axes.py +0 -0
  335. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/visualization/mpl/axis_ticks.py +0 -0
  336. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/visualization/mpl/colormaps.py +0 -0
  337. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/visualization/mpl/dashboards.py +0 -0
  338. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/visualization/mpl/figure.py +0 -0
  339. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/visualization/mpl/geomap/__base__.py +0 -0
  340. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/visualization/mpl/geomap/__init__.py +0 -0
  341. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/visualization/mpl/geomap/geodashboards.py +0 -0
  342. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/visualization/mpl/geomap/geopanels.py +0 -0
  343. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/visualization/mpl/panels.py +0 -0
  344. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/visualization/plotly/__init__.py +0 -0
  345. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/visualization/plotly/ipanel.py +0 -0
  346. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/wrapper/__init__.py +0 -0
  347. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/wrapper/geopack/LICENSE +0 -0
  348. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/wrapper/geopack/README.md +0 -0
  349. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/wrapper/geopack/__init__.py +0 -0
  350. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/wrapper/geopack/geopack/__init__.py +0 -0
  351. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/wrapper/geopack/geopack/geopack.py +0 -0
  352. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/wrapper/geopack/geopack/igrf13coeffs.txt +0 -0
  353. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/wrapper/geopack/geopack/t01.py +0 -0
  354. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/wrapper/geopack/geopack/t04.py +0 -0
  355. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/wrapper/geopack/geopack/t89.py +0 -0
  356. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/wrapper/geopack/geopack/t96.py +0 -0
  357. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/wrapper/geopack/geopack/test_geopack1.md +0 -0
  358. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab/wrapper/geopack/geopack/test_geopack1.py +0 -0
  359. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab.egg-info/SOURCES.txt +0 -0
  360. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab.egg-info/dependency_links.txt +0 -0
  361. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab.egg-info/requires.txt +1 -1
  362. {geospacelab-0.12.1 → geospacelab-0.12.2}/geospacelab.egg-info/top_level.txt +0 -0
  363. {geospacelab-0.12.1 → geospacelab-0.12.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: geospacelab
3
- Version: 0.12.1
3
+ Version: 0.12.2
4
4
  Summary: Collect, manage, and visualize geospace data.
5
5
  Home-page: https://github.com/JouleCai/geospacelab
6
6
  Author: Lei Cai
@@ -27,8 +27,8 @@ Requires-Dist: beautifulsoup4>=4.9.3
27
27
  Requires-Dist: natsort>=7.1.1
28
28
  Requires-Dist: numpy<2.4.0
29
29
  Requires-Dist: scipy>=1.6.0
30
- Requires-Dist: h5py>=3.2.1
31
30
  Requires-Dist: netcdf4>=1.5.7
31
+ Requires-Dist: h5py>=3.2.1
32
32
  Requires-Dist: matplotlib>=3.5
33
33
  Requires-Dist: madrigalweb>=3.3
34
34
  Requires-Dist: aacgmv2>=2.6.2
@@ -6,7 +6,7 @@ __author__ = "Lei Cai"
6
6
  __copyright__ = "Copyright 2021, GeospaceLAB"
7
7
  __credits__ = ["Lei Cai"]
8
8
  __license__ = "BSD-3-Clause License"
9
- __version__ = "0.12.1"
9
+ __version__ = "0.12.2"
10
10
  __maintainer__ = "Lei Cai"
11
11
  __email__ = "lei.cai@oulu.fi"
12
12
  __status__ = "Developing"
@@ -213,8 +213,11 @@ class DownloaderFromFTPBase(DownloaderBase):
213
213
  if file_paths_local is None:
214
214
  self.file_paths_local = []
215
215
  for fp_remote in self.file_paths_remote:
216
+ fp_local = self.root_dir_local
217
+ for p in fp_remote.replace(root_dir_remote, '').split('/'):
218
+ fp_local = fp_local / p
216
219
  self.file_paths_local.append(
217
- self.root_dir_local / fp_remote.replace(root_dir_remote, '')
220
+ fp_local
218
221
  )
219
222
  self.done = [False] * len(self.file_paths_remote)
220
223
 
@@ -347,8 +350,11 @@ class DownloaderFromHTTPBase(DownloaderBase):
347
350
  if file_paths_local is None:
348
351
  self.file_paths_local = []
349
352
  for fp_remote in self.file_paths_remote:
353
+ fp_local = self.root_dir_local
354
+ for p in fp_remote.replace(root_url, '').split('/'):
355
+ fp_local = fp_local / p
350
356
  self.file_paths_local.append(
351
- self.root_dir_local / fp_remote.replace(root_url, '')
357
+ fp_local
352
358
  )
353
359
  else:
354
360
  self.file_paths_local = file_paths_local
@@ -200,11 +200,12 @@ class Dataset(datahub.DatasetSourced):
200
200
  delta = np.sin(glon_2 * np.pi / 180.) - np.sin(glon_2 * np.pi / 180.)
201
201
 
202
202
  if self.replace_orbit:
203
- glon_1 = glon_2
203
+ self['SC_GEO_LON'].value = glon_2[:, np.newaxis]
204
+ self['SC_GEO_LAT'].value = cs_new['lat'][:, np.newaxis]
204
205
  else:
205
206
  glon_1[np.abs(delta)>0.001] = glon_2[np.abs(delta)>0.001]
206
-
207
- self['SC_GEO_LON'].value = glon_1[:, np.newaxis]
207
+ self['SC_GEO_LON'].value = glon_1[:, np.newaxis]
208
+
208
209
 
209
210
  def search_data_files(self, **kwargs):
210
211
 
@@ -134,7 +134,7 @@ class Dataset(datahub.DatasetSourced):
134
134
  self.time_filter_by_range(var_datetime_name='SC_DATETIME')
135
135
 
136
136
  if self.calib_orbit:
137
- self.fix_geo_lon()
137
+ self.fix_geo_lon()
138
138
 
139
139
  if self.add_AACGM:
140
140
  self.convert_to_AACGM()
@@ -220,11 +220,11 @@ class Dataset(datahub.DatasetSourced):
220
220
  delta = np.sin(glon_2 * np.pi / 180.) - np.sin(glon_1 * np.pi / 180.)
221
221
 
222
222
  if self.replace_orbit:
223
- glon_1 = glon_2
223
+ self['SC_GEO_LON'].value = glon_2[:, np.newaxis]
224
+ self['SC_GEO_LAT'].value = cs_new['lat'][:, np.newaxis]
224
225
  else:
225
226
  glon_1[np.abs(delta)>0.001] = glon_2[np.abs(delta)>0.001]
226
-
227
- self['SC_GEO_LON'].value = glon_1[:, np.newaxis]
227
+ self['SC_GEO_LON'].value = glon_1[:, np.newaxis]
228
228
 
229
229
  def search_data_files(self, **kwargs):
230
230
 
@@ -192,11 +192,11 @@ class Dataset(datahub.DatasetSourced):
192
192
  delta = np.sin(glon_2 * np.pi / 180.) - np.sin(glon_2 * np.pi / 180.)
193
193
 
194
194
  if self.replace_orbit:
195
- glon_1 = glon_2
195
+ self['SC_GEO_LON'].value = glon_2[:, np.newaxis]
196
+ self['SC_GEO_LAT'].value = cs_new['lat'][:, np.newaxis]
196
197
  else:
197
198
  glon_1[np.abs(delta)>0.001] = glon_2[np.abs(delta)>0.001]
198
-
199
- self['SC_GEO_LON'].value = glon_1[:, np.newaxis]
199
+ self['SC_GEO_LON'].value = glon_1[:, np.newaxis]
200
200
 
201
201
  # from geospacelab.observatory.orbit.sc_orbit import OrbitPosition_SSCWS
202
202
  # from scipy.interpolate import interp1d
@@ -8,7 +8,7 @@ import scipy.signal as sig
8
8
  from geospacelab.datahub import DatasetUser
9
9
  from geospacelab.toolbox.utilities import pydatetime as dttool
10
10
  import geospacelab.toolbox.utilities.numpymath as npmath
11
- from geospacelab.cs import GEOCSpherical
11
+ import geospacelab.cs as geo_cs
12
12
 
13
13
 
14
14
  class LEOToolbox(DatasetUser):
@@ -34,6 +34,27 @@ class LEOToolbox(DatasetUser):
34
34
  self.sector_cs = 'GEO'
35
35
  self.sectors = {}
36
36
 
37
+ def add_GEO_cartesian(self, cs_in='GEO', ):
38
+
39
+ if cs_in == 'GEO':
40
+ coords={
41
+ 'lat': self['SC_GEO_LAT'].value.flatten(),
42
+ 'lon': self['SC_GEO_LON'].value.flatten(),
43
+ 'height': self['SC_GEO_ALT'].value.flatten(),
44
+ 'lat_unit': 'deg', 'lon_unit': 'deg', 'height_unit': 'km'
45
+ }
46
+ else:
47
+ raise NotImplementedError
48
+
49
+ cs = geo_cs.GEOSpherical(
50
+ coords=coords
51
+ )
52
+ cs_new = cs.to_cartesian()
53
+ self.add_variable(var_name='SC_GEO_X', value=cs_new['x'].reshape((cs_new['x'].size, 1)))
54
+ self.add_variable(var_name='SC_GEO_Y', value=cs_new['y'].reshape((cs_new['y'].size, 1)))
55
+ self.add_variable(var_name='SC_GEO_Z', value=cs_new['z'].reshape((cs_new['z'].size, 1)))
56
+ return
57
+
37
58
  def search_orbit_nodes(self, data_interval=1, t_res=None):
38
59
  def check_nodes(nodes):
39
60
  dts_nodes = nodes['DATETIME']
@@ -330,7 +351,266 @@ class LEOToolbox(DatasetUser):
330
351
  }
331
352
  else:
332
353
  raise NotImplementedError
354
+
355
+ def griddata_by_sector_new(
356
+ self,
357
+ variable_names=None,
358
+ sector_name=None,
359
+ x_grid_res=20*60,
360
+ y_grid_res=0.5,
361
+ x_data_res=None,
362
+ y_data_res=None,
363
+ grid_method='linear',
364
+ along_x_interp_method='linear',
365
+ along_track_interp=True,
366
+ along_track_interp_method='linear',
367
+ along_track_binning=False,
368
+ along_track_binning_method='mean',
369
+ along_track_binning_size=None,
370
+ visual='on',
371
+ ):
372
+ # Initialize parameters
373
+ if along_track_binning and along_track_interp:
374
+ raise ValueError('Only one of along_track_binning and along_track_interp can be True.')
375
+ if along_track_binning:
376
+ if along_track_binning_size is None:
377
+ along_track_binning_size = y_grid_res
378
+
379
+ self.visual = visual
380
+ dts_c = self['_'.join(('SECTOR', sector_name, 'DATETIME'))].value.flatten()
381
+ dts = self['SC_DATETIME'].value.flatten()
382
+ sector = self['SECTOR_' + sector_name].value.flatten()
383
+ pseudo_lat = self['_'.join(('SECTOR', sector_name, 'PSEUDO_LAT'))].value.flatten()
384
+ lat_range = self.sectors[sector_name]['PSEUDO_LAT_RANGE']
385
+ n_tracks = int(np.max(sector))
386
+
387
+ if along_track_interp:
388
+ x_data = dts[sector > 0]
389
+ else:
390
+ x_data = dts_c[sector > 0]
391
+ x_data_c = dts_c[sector>0]
392
+ x = np.array([(dt - dttool.get_start_of_the_day(self.dt_fr)).total_seconds() for dt in x_data])
393
+ x_c = np.array([(dt - dttool.get_start_of_the_day(self.dt_fr)).total_seconds() for dt in x_data_c])
394
+ x_unique_c = np.unique(x_c)
395
+ if x_data_res is None:
396
+ x_data_res = np.nanmedian(np.diff(x_unique_c))
397
+
398
+ y_data = pseudo_lat[sector > 0]
399
+ y= y_data
400
+ if y_data_res is None:
401
+ diff_ys = []
402
+ for i in range(n_tracks):
403
+ sector_i = sector[sector>0]
404
+ y_track = y_data[sector_i == i+1]
405
+ if len(y_track) > 3:
406
+ diff_ys.append(np.abs(y_track[len(y_track) // 2] - y_track[len(y_track) // 2 - 1]))
407
+ y_data_res = np.nanmedian(diff_ys)
408
+ if y_grid_res > y_data_res:
409
+ y_data_res = y_grid_res
410
+
411
+ # Set the grids
412
+ dt0 = dttool.get_start_of_the_day(self.dt_fr)
413
+ ny = int(np.ceil(np.diff(lat_range) / y_grid_res) + 1)
414
+ ys = np.linspace(lat_range[0], lat_range[1], ny)
415
+ if x_grid_res is None:
416
+ xs = x_unique_c
417
+ # ys = ys[:-1] + y_grid_res / 2
418
+ grid_x, grid_y = np.meshgrid(xs, ys)
419
+ x_interp = False
420
+ x_grid_res=x_data_res
421
+ else:
422
+ min_x = np.floor((self.dt_fr - dt0).total_seconds() / x_grid_res) * x_grid_res
423
+ max_x = np.ceil((self.dt_to - dt0).total_seconds() / x_grid_res) * x_grid_res
424
+ grid_x, grid_y = np.meshgrid(
425
+ np.arange(min_x, max_x, x_grid_res),
426
+ ys
427
+ )
428
+ x_interp = True
429
+ if along_track_binning:
430
+ y_bins = [
431
+ ys - along_track_binning_size / 2,
432
+ ys + along_track_binning_size / 2
433
+ ]
434
+
435
+ grid_lat = griddata((x_c, y), y, (grid_x, grid_y), method='nearest')
436
+
437
+ if self.sector_cs == 'AACGM':
438
+ mask_y = np.abs(grid_y - grid_lat) > y_data_res * 2
439
+ which_lat = 'AACGM_LAT'
440
+ if self.sector_cs == 'APEX':
441
+ mask_y = np.abs(grid_y - grid_lat) > y_data_res * 2
442
+ which_lat = 'APEX_LAT'
443
+ else:
444
+ mask_y = np.abs(grid_y - grid_lat) > y_data_res * 1.2
445
+ which_lat = 'GEO_LAT'
446
+
447
+ grid_sectime = griddata((x_c, y), x_c, (grid_x, grid_y), method='nearest')
448
+ mask_x = np.abs(grid_x - grid_sectime) > x_data_res * 1.2
449
+
450
+ # remove gaps
451
+ # i_mask_x = np.where(mask_x)
452
+ # rec_bounds_ind = {}
453
+ # if list(i_mask_x[0]):
454
+ # for ii, jj in zip(*i_mask_x):
455
+ # xx = grid_x[ii, jj]
456
+ # x_ii = grid_x[ii, :].flatten()
457
+ # if xx in rec_bounds_ind.keys():
458
+ # bound_x_1 = rec_bounds_ind[xx][0]
459
+ # bound_x_2 = rec_bounds_ind[xx][1]
460
+ # else:
461
+ # iii = np.where(x_unique_c<xx)[0]
462
+ # if not list(iii):
463
+ # bound_x_1 = x_ii[0] - x_data_res
464
+ # else:
465
+ # bound_x_1 = x_unique_c[iii[-1]] - x_grid_res
466
+ # iii = np.where(x_unique_c > xx)[0]
467
+ # if not list(iii):
468
+ # bound_x_2 = x_ii[-1] + x_grid_res
469
+ # else:
470
+ # bound_x_2 = x_unique_c[iii[0]] + x_data_res
471
+ # rec_bounds_ind[xx] = [bound_x_1, bound_x_2]
472
+ # mask_x[ii, (x_ii >= bound_x_1) & (x_ii <= bound_x_2)] = True
473
+ # pass
474
+
475
+ #
476
+
477
+ for var_name in variable_names:
478
+ # print(var_name)
479
+ vrb = self[var_name].value.flatten()[sector>0]
480
+ if along_track_binning:
481
+ sector_1 = sector[sector>0]
482
+ n_lats = ny
483
+ xx_1 = np.full((n_tracks, n_lats), np.nan)
484
+ yy_1 = grid_y[:, 0].flatten()
485
+ zz_1 = np.full((n_tracks, n_lats), np.nan)
486
+ grid_z = np.ones_like(grid_x)*np.nan
333
487
 
488
+ for ii in np.arange(1, n_tracks+1):
489
+ xd = x[sector_1 == ii]
490
+ yd = y[sector_1 == ii]
491
+ zd = vrb[sector_1 == ii]
492
+ if (not list(xd)) or (not list(yd)):
493
+ continue
494
+ inds_sorted = np.argsort(yd)
495
+ yd_sorted = yd[inds_sorted]
496
+ inds_y_bin_0 = np.searchsorted(yd_sorted, y_bins[0])
497
+ inds_y_bin_1 = np.searchsorted(yd_sorted, y_bins[1])
498
+ for ib0, ib1 in zip(inds_y_bin_0, inds_y_bin_1):
499
+ if along_track_binning_method == 'mean':
500
+ z_i = np.nanmean(zd[inds_sorted[ib0:ib1]])
501
+ elif along_track_binning_method == 'median':
502
+ z_i = np.nanmedian(zd[inds_sorted[ib0:ib1]])
503
+ elif along_track_binning_method == 'max':
504
+ z_i = np.nanmax(zd[inds_sorted[ib0:ib1]])
505
+ elif along_track_binning_method == 'min':
506
+ z_i = np.nanmin(zd[inds_sorted[ib0:ib1]])
507
+
508
+ if list(z_i):
509
+ z_bin = np.nanmean(z_i)
510
+ else:
511
+ z_bin = np.nan
512
+ f = interp1d(yd, xd, bounds_error=False, fill_value= 'extrapolate')
513
+ x_i = f(yy_1)
514
+ xx_1[ii-1, :] = x_i
515
+
516
+ if 'LON' in var_name:
517
+ z_i = npmath.interp_period_data(yd, zd, yy_1, period=360., method='linear', bounds_error=False)
518
+ elif 'LST' in var_name:
519
+ z_i = npmath.interp_period_data(yd, zd, yy_1, period=24., method='linear', bounds_error=False)
520
+ else:
521
+ # f = interp1d(yd, zd, bounds_error=False, fill_value='extrapolate')
522
+ # z_i = f(yy_1)
523
+ z_i = np.ones_like(yy_1) * np.nan
524
+ for j, yyy in enumerate(yy_1):
525
+ inds_y = np.where((yd >= yyy-y_grid_res/2) & (yd < yyy+y_grid_res/2))[0]
526
+ if list(inds_y):
527
+ z_i[j] = np.nanmean(zd[inds_y])
528
+ zz_1[ii-1, :] = z_i
529
+ for ii in range(grid_x.shape[0]):
530
+ xd = xx_1[:, ii].flatten()
531
+ zd = zz_1[:, ii].flatten()
532
+ if x_interp:
533
+ if 'LON' in var_name:
534
+ z_i = npmath.interp_period_data(xd, zd, grid_x[0], period=360., method='linear', bounds_error=False)
535
+ elif 'LST' in var_name:
536
+ z_i = npmath.interp_period_data(xd, zd, grid_x[0], period=24., method='linear', bounds_error=False)
537
+ else:
538
+ f = interp1d(xd, zd, bounds_error=False, fill_value='extrapolate')
539
+ z_i = f(grid_x[0])
540
+ grid_z[ii, :] = z_i
541
+ else:
542
+ grid_z[ii, :] = zd
543
+ elif along_track_interp:
544
+ sector_1 = sector[sector>0]
545
+ n_tracks = int(np.max(sector))
546
+ n_lats = ny
547
+ xx_1 = np.empty((n_tracks, n_lats))
548
+ zz_1 = np.empty((n_tracks, n_lats))
549
+ yy_1 = grid_y[:, 0].flatten()
550
+ grid_z = np.ones_like(grid_x) * np.nan
551
+ for ii in np.arange(1, n_tracks+1):
552
+ xd = x[sector_1 == ii]
553
+ yd = y[sector_1 == ii]
554
+ zd = vrb[sector_1 == ii]
555
+
556
+ if (not list(xd)) or (not list(yd)):
557
+ continue
558
+
559
+ f = interp1d(yd, xd, bounds_error=False, fill_value= 'extrapolate')
560
+ x_i = f(yy_1)
561
+ xx_1[ii-1, :] = x_i
562
+
563
+ if 'LON' in var_name:
564
+ z_i = npmath.interp_period_data(yd, zd, yy_1, period=360., method='linear', bounds_error=False)
565
+ elif 'LST' in var_name:
566
+ z_i = npmath.interp_period_data(yd, zd, yy_1, period=24., method='linear', bounds_error=False)
567
+ else:
568
+ f = interp1d(yd, zd, bounds_error=False, fill_value='extrapolate')
569
+ z_i = f(yy_1)
570
+ zz_1[ii-1, :] = z_i
571
+ for ii in range(grid_x.shape[0]):
572
+ xd = xx_1[:, ii].flatten()
573
+ zd = zz_1[:, ii].flatten()
574
+ if x_interp:
575
+ if 'LON' in var_name:
576
+ z_i = npmath.interp_period_data(xd, zd, grid_x[0], period=360., method='linear', bounds_error=False)
577
+ elif 'LST' in var_name:
578
+ z_i = npmath.interp_period_data(xd, zd, grid_x[0], period=24., method='linear', bounds_error=False)
579
+ else:
580
+ f = interp1d(xd, zd, bounds_error=False, fill_value='extrapolate')
581
+ z_i = f(grid_x[0])
582
+ grid_z[ii, :] = z_i
583
+ else:
584
+ grid_z[ii, :] = zd
585
+ else:
586
+ grid_z = griddata((x, y), vrb, (grid_x, grid_y), method=method)
587
+ grid_z[mask_y] = np.nan
588
+ grid_z[mask_x] = np.nan
589
+ var_name_in = '_'.join(('SECTOR', sector_name, 'GRID', var_name))
590
+ self.sectors[sector_name]['VARIABLE_NAMES'].append(var_name_in)
591
+
592
+ # self.add_variable(var_name=var_name_in, value=grid_z.T)
593
+ self[var_name_in] = self[var_name].clone(omit_attrs='visual')
594
+ self[var_name_in].visual = 'new'
595
+ var = self[var_name_in]
596
+ var.value = grid_z.T
597
+ var.set_depend(0, {'UT': '_'.join(('SECTOR', sector_name, 'GRID_DATETIME'))})
598
+ var.set_depend(1, {which_lat: '_'.join(('SECTOR', sector_name, 'GRID_LAT'))})
599
+ var.visual.axis[0].data = '@d.' + '_'.join(('SECTOR', sector_name, 'GRID_DATETIME'))
600
+ var.visual.axis[1].data = '@d.' + '_'.join(('SECTOR', sector_name, 'GRID_LAT'))
601
+ var.visual.axis[1].label = 'GLAT' if self.sector_cs == 'GEO' else 'MLAT'
602
+ var.visual.axis[1].unit = r'$^\circ$'
603
+ var.visual.axis[1].lim = lat_range
604
+ var.visual.axis[2].data = '@v.value'
605
+ var.visual.axis[2].data_scale = self[var_name].visual.axis[1].data_scale
606
+ var.visual.axis[2].label = '@v.label'
607
+ var.visual.axis[2].unit = '@v.unit'
608
+ var.visual.plot_config.style = '2P'
609
+ var.visual.plot_config.pcolormesh.update(cmap='jet')
610
+
611
+
612
+ return
613
+
334
614
  def griddata_by_sector(
335
615
  self, sector_name=None, variable_names=None, x_grid_res=20*60, y_grid_res=0.5, along_track_interp=True,
336
616
  x_data_res=None, y_data_res=None, along_track_binning=False,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: geospacelab
3
- Version: 0.12.1
3
+ Version: 0.12.2
4
4
  Summary: Collect, manage, and visualize geospace data.
5
5
  Home-page: https://github.com/JouleCai/geospacelab
6
6
  Author: Lei Cai
@@ -27,8 +27,8 @@ Requires-Dist: beautifulsoup4>=4.9.3
27
27
  Requires-Dist: natsort>=7.1.1
28
28
  Requires-Dist: numpy<2.4.0
29
29
  Requires-Dist: scipy>=1.6.0
30
- Requires-Dist: h5py>=3.2.1
31
30
  Requires-Dist: netcdf4>=1.5.7
31
+ Requires-Dist: h5py>=3.2.1
32
32
  Requires-Dist: matplotlib>=3.5
33
33
  Requires-Dist: madrigalweb>=3.3
34
34
  Requires-Dist: aacgmv2>=2.6.2
@@ -54,8 +54,9 @@ setuptools.setup(
54
54
  'natsort>=7.1.1',
55
55
  'numpy<2.4.0',
56
56
  'scipy>=1.6.0',
57
+ 'netcdf4>=1.5.7',
57
58
  'h5py>=3.2.1',
58
- 'netcdf4>=1.5.7',
59
+
59
60
  'matplotlib>=3.5',
60
61
  'madrigalweb>=3.3',
61
62
  'aacgmv2>=2.6.2',
File without changes
File without changes
File without changes