igs-slm 0.1.0b0__py3-none-any.whl

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 (447) hide show
  1. igs_slm-0.1.0b0.dist-info/LICENSE +21 -0
  2. igs_slm-0.1.0b0.dist-info/METADATA +151 -0
  3. igs_slm-0.1.0b0.dist-info/RECORD +447 -0
  4. igs_slm-0.1.0b0.dist-info/WHEEL +4 -0
  5. igs_slm-0.1.0b0.dist-info/entry_points.txt +3 -0
  6. igs_tools/__init__.py +0 -0
  7. igs_tools/connection.py +88 -0
  8. igs_tools/defines/__init__.py +8 -0
  9. igs_tools/defines/constellation.py +21 -0
  10. igs_tools/defines/data_center.py +75 -0
  11. igs_tools/defines/rinex.py +49 -0
  12. igs_tools/directory.py +247 -0
  13. igs_tools/utils.py +66 -0
  14. slm/__init__.py +21 -0
  15. slm/admin.py +674 -0
  16. slm/api/edit/__init__.py +0 -0
  17. slm/api/edit/serializers.py +316 -0
  18. slm/api/edit/views.py +1632 -0
  19. slm/api/fields.py +89 -0
  20. slm/api/filter.py +504 -0
  21. slm/api/pagination.py +55 -0
  22. slm/api/permissions.py +65 -0
  23. slm/api/public/__init__.py +0 -0
  24. slm/api/public/serializers.py +249 -0
  25. slm/api/public/views.py +606 -0
  26. slm/api/serializers.py +132 -0
  27. slm/api/views.py +148 -0
  28. slm/apps.py +323 -0
  29. slm/authentication.py +198 -0
  30. slm/bin/__init__.py +0 -0
  31. slm/bin/startproject.py +262 -0
  32. slm/bin/templates/{{ project_dir }}/pyproject.toml +35 -0
  33. slm/bin/templates/{{ project_dir }}/sites/__init__.py +0 -0
  34. slm/bin/templates/{{ project_dir }}/sites/{{ site }}/__init__.py +0 -0
  35. slm/bin/templates/{{ project_dir }}/sites/{{ site }}/base.py +15 -0
  36. slm/bin/templates/{{ project_dir }}/sites/{{ site }}/develop/__init__.py +56 -0
  37. slm/bin/templates/{{ project_dir }}/sites/{{ site }}/develop/local.py +4 -0
  38. slm/bin/templates/{{ project_dir }}/sites/{{ site }}/develop/wsgi.py +16 -0
  39. slm/bin/templates/{{ project_dir }}/sites/{{ site }}/manage.py +34 -0
  40. slm/bin/templates/{{ project_dir }}/sites/{{ site }}/production/__init__.py +61 -0
  41. slm/bin/templates/{{ project_dir }}/sites/{{ site }}/production/wsgi.py +16 -0
  42. slm/bin/templates/{{ project_dir }}/sites/{{ site }}/urls.py +7 -0
  43. slm/bin/templates/{{ project_dir }}/sites/{{ site }}/validation.py +11 -0
  44. slm/bin/templates/{{ project_dir }}/{{ extension_app }}/__init__.py +0 -0
  45. slm/bin/templates/{{ project_dir }}/{{ extension_app }}/admin.py +5 -0
  46. slm/bin/templates/{{ project_dir }}/{{ extension_app }}/apps.py +14 -0
  47. slm/bin/templates/{{ project_dir }}/{{ extension_app }}/management/__init__.py +0 -0
  48. slm/bin/templates/{{ project_dir }}/{{ extension_app }}/management/commands/__init__.py +0 -0
  49. slm/bin/templates/{{ project_dir }}/{{ extension_app }}/management/commands/import_archive.py +64 -0
  50. slm/bin/templates/{{ project_dir }}/{{ extension_app }}/migrations/__init__.py +0 -0
  51. slm/bin/templates/{{ project_dir }}/{{ extension_app }}/models.py +6 -0
  52. slm/bin/templates/{{ project_dir }}/{{ extension_app }}/templates/slm/base.html +8 -0
  53. slm/bin/templates/{{ project_dir }}/{{ extension_app }}/urls.py +10 -0
  54. slm/bin/templates/{{ project_dir }}/{{ extension_app }}/views.py +5 -0
  55. slm/defines/AlertLevel.py +24 -0
  56. slm/defines/AntennaCalibration.py +25 -0
  57. slm/defines/AntennaFeatures.py +27 -0
  58. slm/defines/AntennaReferencePoint.py +22 -0
  59. slm/defines/Aspiration.py +13 -0
  60. slm/defines/CardinalDirection.py +19 -0
  61. slm/defines/CollocationStatus.py +12 -0
  62. slm/defines/EquipmentState.py +22 -0
  63. slm/defines/FlagSeverity.py +14 -0
  64. slm/defines/FractureSpacing.py +15 -0
  65. slm/defines/FrequencyStandardType.py +15 -0
  66. slm/defines/GeodesyMLVersion.py +48 -0
  67. slm/defines/ISOCountry.py +1194 -0
  68. slm/defines/Instrumentation.py +19 -0
  69. slm/defines/LogEntryType.py +30 -0
  70. slm/defines/SLMFileType.py +18 -0
  71. slm/defines/SiteFileUploadStatus.py +61 -0
  72. slm/defines/SiteLogFormat.py +49 -0
  73. slm/defines/SiteLogStatus.py +78 -0
  74. slm/defines/TectonicPlates.py +28 -0
  75. slm/defines/__init__.py +46 -0
  76. slm/forms.py +1126 -0
  77. slm/jinja2/slm/sitelog/ascii_9char.log +346 -0
  78. slm/jinja2/slm/sitelog/legacy.log +346 -0
  79. slm/jinja2/slm/sitelog/xsd/0.4/collocationInformation.xml +12 -0
  80. slm/jinja2/slm/sitelog/xsd/0.4/condition.xml +12 -0
  81. slm/jinja2/slm/sitelog/xsd/0.4/contact.xml +52 -0
  82. slm/jinja2/slm/sitelog/xsd/0.4/formInformation.xml +5 -0
  83. slm/jinja2/slm/sitelog/xsd/0.4/frequencyStandard.xml +12 -0
  84. slm/jinja2/slm/sitelog/xsd/0.4/gnssAntenna.xml +16 -0
  85. slm/jinja2/slm/sitelog/xsd/0.4/gnssReceiver.xml +11 -0
  86. slm/jinja2/slm/sitelog/xsd/0.4/humiditySensor.xml +13 -0
  87. slm/jinja2/slm/sitelog/xsd/0.4/localEpisodicEffect.xml +10 -0
  88. slm/jinja2/slm/sitelog/xsd/0.4/moreInformation.xml +22 -0
  89. slm/jinja2/slm/sitelog/xsd/0.4/multipathSource.xml +10 -0
  90. slm/jinja2/slm/sitelog/xsd/0.4/otherInstrumentation.xml +5 -0
  91. slm/jinja2/slm/sitelog/xsd/0.4/pressureSensor.xml +12 -0
  92. slm/jinja2/slm/sitelog/xsd/0.4/radioInterference.xml +11 -0
  93. slm/jinja2/slm/sitelog/xsd/0.4/sensor.xml +16 -0
  94. slm/jinja2/slm/sitelog/xsd/0.4/signalObstruction.xml +10 -0
  95. slm/jinja2/slm/sitelog/xsd/0.4/siteIdentification.xml +22 -0
  96. slm/jinja2/slm/sitelog/xsd/0.4/siteLocation.xml +21 -0
  97. slm/jinja2/slm/sitelog/xsd/0.4/surveyedLocalTie.xml +20 -0
  98. slm/jinja2/slm/sitelog/xsd/0.4/temperatureSensor.xml +13 -0
  99. slm/jinja2/slm/sitelog/xsd/0.4/waterVaporSensor.xml +11 -0
  100. slm/jinja2/slm/sitelog/xsd/0.5/document.xml +10 -0
  101. slm/jinja2/slm/sitelog/xsd/geodesyml_0.4.xml +99 -0
  102. slm/jinja2/slm/sitelog/xsd/geodesyml_0.5.xml +112 -0
  103. slm/management/__init__.py +0 -0
  104. slm/management/commands/__init__.py +53 -0
  105. slm/management/commands/build_index.py +96 -0
  106. slm/management/commands/generate_sinex.py +675 -0
  107. slm/management/commands/head_from_index.py +541 -0
  108. slm/management/commands/import_archive.py +908 -0
  109. slm/management/commands/import_equipment.py +351 -0
  110. slm/management/commands/set_site.py +56 -0
  111. slm/management/commands/sitelog.py +144 -0
  112. slm/management/commands/synchronize.py +60 -0
  113. slm/management/commands/update_data_availability.py +167 -0
  114. slm/management/commands/validate_db.py +186 -0
  115. slm/management/commands/validate_gml.py +73 -0
  116. slm/map/__init__.py +1 -0
  117. slm/map/admin.py +5 -0
  118. slm/map/api/__init__.py +0 -0
  119. slm/map/api/edit/__init__.py +0 -0
  120. slm/map/api/edit/serializers.py +28 -0
  121. slm/map/api/edit/views.py +46 -0
  122. slm/map/api/public/__init__.py +0 -0
  123. slm/map/api/public/serializers.py +29 -0
  124. slm/map/api/public/views.py +64 -0
  125. slm/map/apps.py +7 -0
  126. slm/map/defines.py +53 -0
  127. slm/map/migrations/0001_initial.py +115 -0
  128. slm/map/migrations/__init__.py +0 -0
  129. slm/map/models.py +63 -0
  130. slm/map/static/slm/css/map.css +86 -0
  131. slm/map/static/slm/js/map.js +159 -0
  132. slm/map/templates/slm/map.html +374 -0
  133. slm/map/templates/slm/station/base.html +11 -0
  134. slm/map/templates/slm/station/edit.html +10 -0
  135. slm/map/templates/slm/top_nav.html +17 -0
  136. slm/map/templatetags/__init__.py +0 -0
  137. slm/map/templatetags/slm_map.py +18 -0
  138. slm/map/urls.py +25 -0
  139. slm/map/views.py +36 -0
  140. slm/middleware.py +29 -0
  141. slm/migrations/0001_alter_siteantenna_marker_enu_alter_sitelocation_llh_and_more.py +47 -0
  142. slm/migrations/0001_initial.py +4826 -0
  143. slm/migrations/0002_alter_dataavailability_site.py +22 -0
  144. slm/migrations/0003_remove_logentry_slm_logentr_site_lo_7a2af7_idx_and_more.py +80 -0
  145. slm/migrations/0004_alter_logentry_timestamp_and_more.py +25 -0
  146. slm/migrations/0005_alter_logentry_options_alter_logentry_section_and_more.py +46 -0
  147. slm/migrations/0006_alter_logentry_options_alter_logentry_index_together.py +24 -0
  148. slm/migrations/0007_alter_dataavailability_rate.py +23 -0
  149. slm/migrations/0008_alter_archiveindex_options_and_more.py +64 -0
  150. slm/migrations/0009_alter_archiveindex_end.py +21 -0
  151. slm/migrations/0010_alter_dataavailability_rinex_version_and_more.py +844 -0
  152. slm/migrations/0011_alter_siteidentification_fracture_spacing.py +33 -0
  153. slm/migrations/0012_alter_logentry_type.py +36 -0
  154. slm/migrations/0013_unpublishedfilesalert.py +48 -0
  155. slm/migrations/0014_sitelogpublished.py +48 -0
  156. slm/migrations/0015_alter_siteantenna_options_and_more.py +181 -0
  157. slm/migrations/0016_alter_antenna_description_alter_radome_description_and_more.py +42 -0
  158. slm/migrations/0017_alter_logentry_unique_together_and_more.py +54 -0
  159. slm/migrations/0018_afix_deleted.py +34 -0
  160. slm/migrations/0018_alter_siteantenna_options_and_more.py +244 -0
  161. slm/migrations/0019_remove_siteantenna_marker_enu_siteantenna_marker_une_and_more.py +101 -0
  162. slm/migrations/0020_alter_manufacturer_options.py +16 -0
  163. slm/migrations/0021_alter_siteform_report_type.py +23 -0
  164. slm/migrations/0022_rename_antcal_antenna_radome_slm_antcal_antenna_20827a_idx_and_more.py +297 -0
  165. slm/migrations/0023_archivedsitelog_gml_version_and_more.py +55 -0
  166. slm/migrations/0024_alter_agency_name_alter_agency_shortname.py +24 -0
  167. slm/migrations/0025_alter_archivedsitelog_log_format_and_more.py +61 -0
  168. slm/migrations/0026_alter_archivedsitelog_log_format_and_more.py +61 -0
  169. slm/migrations/0027_importalert_file_contents_importalert_findings_and_more.py +41 -0
  170. slm/migrations/0028_antenna_replaced_manufacturer_url_radome_replaced_and_more.py +46 -0
  171. slm/migrations/0029_manufacturer_full_name.py +17 -0
  172. slm/migrations/0030_alter_antenna_state_alter_radome_state_and_more.py +43 -0
  173. slm/migrations/__init__.py +0 -0
  174. slm/migrations/load_satellitesystems.py +27 -0
  175. slm/models/__init__.py +118 -0
  176. slm/models/about.py +14 -0
  177. slm/models/alerts.py +1204 -0
  178. slm/models/data.py +58 -0
  179. slm/models/equipment.py +229 -0
  180. slm/models/help.py +14 -0
  181. slm/models/index.py +428 -0
  182. slm/models/sitelog.py +4279 -0
  183. slm/models/system.py +723 -0
  184. slm/models/user.py +304 -0
  185. slm/parsing/__init__.py +786 -0
  186. slm/parsing/legacy/__init__.py +4 -0
  187. slm/parsing/legacy/binding.py +817 -0
  188. slm/parsing/legacy/parser.py +377 -0
  189. slm/parsing/xsd/__init__.py +34 -0
  190. slm/parsing/xsd/binding.py +86 -0
  191. slm/parsing/xsd/geodesyml/0.4/commonTypes.xsd +133 -0
  192. slm/parsing/xsd/geodesyml/0.4/contact.xsd +29 -0
  193. slm/parsing/xsd/geodesyml/0.4/dataStreams.xsd +129 -0
  194. slm/parsing/xsd/geodesyml/0.4/document.xsd +64 -0
  195. slm/parsing/xsd/geodesyml/0.4/equipment.xsd +427 -0
  196. slm/parsing/xsd/geodesyml/0.4/fieldMeasurement.xsd +170 -0
  197. slm/parsing/xsd/geodesyml/0.4/geodesyML.xsd +71 -0
  198. slm/parsing/xsd/geodesyml/0.4/geodeticEquipment.xsd +343 -0
  199. slm/parsing/xsd/geodesyml/0.4/geodeticMonument.xsd +147 -0
  200. slm/parsing/xsd/geodesyml/0.4/lineage.xsd +614 -0
  201. slm/parsing/xsd/geodesyml/0.4/localInterferences.xsd +131 -0
  202. slm/parsing/xsd/geodesyml/0.4/measurement.xsd +473 -0
  203. slm/parsing/xsd/geodesyml/0.4/monumentInfo.xsd +251 -0
  204. slm/parsing/xsd/geodesyml/0.4/observationSystem.xsd +429 -0
  205. slm/parsing/xsd/geodesyml/0.4/project.xsd +38 -0
  206. slm/parsing/xsd/geodesyml/0.4/quality.xsd +176 -0
  207. slm/parsing/xsd/geodesyml/0.4/referenceFrame.xsd +194 -0
  208. slm/parsing/xsd/geodesyml/0.4/siteLog.xsd +71 -0
  209. slm/parsing/xsd/geodesyml/0.5/commonTypes.xsd +133 -0
  210. slm/parsing/xsd/geodesyml/0.5/contact.xsd +29 -0
  211. slm/parsing/xsd/geodesyml/0.5/dataStreams.xsd +129 -0
  212. slm/parsing/xsd/geodesyml/0.5/document.xsd +64 -0
  213. slm/parsing/xsd/geodesyml/0.5/equipment.xsd +427 -0
  214. slm/parsing/xsd/geodesyml/0.5/fieldMeasurement.xsd +170 -0
  215. slm/parsing/xsd/geodesyml/0.5/geodesyML.xsd +71 -0
  216. slm/parsing/xsd/geodesyml/0.5/geodeticEquipment.xsd +343 -0
  217. slm/parsing/xsd/geodesyml/0.5/geodeticMonument.xsd +147 -0
  218. slm/parsing/xsd/geodesyml/0.5/lineage.xsd +614 -0
  219. slm/parsing/xsd/geodesyml/0.5/localInterferences.xsd +131 -0
  220. slm/parsing/xsd/geodesyml/0.5/measurement.xsd +473 -0
  221. slm/parsing/xsd/geodesyml/0.5/monumentInfo.xsd +306 -0
  222. slm/parsing/xsd/geodesyml/0.5/observationSystem.xsd +429 -0
  223. slm/parsing/xsd/geodesyml/0.5/project.xsd +38 -0
  224. slm/parsing/xsd/geodesyml/0.5/quality.xsd +176 -0
  225. slm/parsing/xsd/geodesyml/0.5/referenceFrame.xsd +194 -0
  226. slm/parsing/xsd/geodesyml/0.5/siteLog.xsd +73 -0
  227. slm/parsing/xsd/parser.py +116 -0
  228. slm/parsing/xsd/resolver.py +28 -0
  229. slm/receivers/__init__.py +11 -0
  230. slm/receivers/alerts.py +87 -0
  231. slm/receivers/cleanup.py +41 -0
  232. slm/receivers/event_loggers.py +175 -0
  233. slm/receivers/index.py +67 -0
  234. slm/settings/__init__.py +55 -0
  235. slm/settings/auth.py +15 -0
  236. slm/settings/ckeditor.py +14 -0
  237. slm/settings/debug.py +47 -0
  238. slm/settings/internationalization.py +12 -0
  239. slm/settings/logging.py +113 -0
  240. slm/settings/platform/__init__.py +0 -0
  241. slm/settings/platform/darwin.py +10 -0
  242. slm/settings/rest.py +21 -0
  243. slm/settings/root.py +152 -0
  244. slm/settings/routines.py +43 -0
  245. slm/settings/secrets.py +37 -0
  246. slm/settings/security.py +5 -0
  247. slm/settings/slm.py +188 -0
  248. slm/settings/static_templates.py +53 -0
  249. slm/settings/templates.py +29 -0
  250. slm/settings/uploads.py +8 -0
  251. slm/settings/urls.py +126 -0
  252. slm/settings/validation.py +196 -0
  253. slm/signals.py +250 -0
  254. slm/singleton.py +49 -0
  255. slm/static/rest_framework/css/bootstrap-tweaks.css +204 -0
  256. slm/static/rest_framework/css/bootstrap.min.css +7 -0
  257. slm/static/rest_framework/css/bootstrap.min.css.map +1 -0
  258. slm/static/rest_framework/css/default.css +82 -0
  259. slm/static/rest_framework/css/prettify.css +30 -0
  260. slm/static/rest_framework/docs/css/base.css +344 -0
  261. slm/static/rest_framework/docs/css/highlight.css +125 -0
  262. slm/static/rest_framework/docs/css/jquery.json-view.min.css +11 -0
  263. slm/static/rest_framework/docs/img/favicon.ico +0 -0
  264. slm/static/rest_framework/docs/img/grid.png +0 -0
  265. slm/static/rest_framework/docs/js/api.js +321 -0
  266. slm/static/rest_framework/docs/js/highlight.pack.js +2 -0
  267. slm/static/rest_framework/docs/js/jquery.json-view.min.js +7 -0
  268. slm/static/rest_framework/img/grid.png +0 -0
  269. slm/static/rest_framework/js/ajax-form.js +127 -0
  270. slm/static/rest_framework/js/bootstrap.bundle.min.js +7 -0
  271. slm/static/rest_framework/js/bootstrap.bundle.min.js.map +1 -0
  272. slm/static/rest_framework/js/bootstrap.min.js.map +1 -0
  273. slm/static/rest_framework/js/coreapi-0.1.1.js +2043 -0
  274. slm/static/rest_framework/js/csrf.js +52 -0
  275. slm/static/rest_framework/js/default.js +47 -0
  276. slm/static/rest_framework/js/jquery-3.5.1.min.js +2 -0
  277. slm/static/rest_framework/js/prettify-min.js +28 -0
  278. slm/static/slm/css/admin.css +3 -0
  279. slm/static/slm/css/defines.css +82 -0
  280. slm/static/slm/css/forms.css +1 -0
  281. slm/static/slm/css/style.css +1004 -0
  282. slm/static/slm/img/email-branding.png +0 -0
  283. slm/static/slm/img/favicon.ico +0 -0
  284. slm/static/slm/img/login-bg.jpg +0 -0
  285. slm/static/slm/img/slm-logo.svg +4 -0
  286. slm/static/slm/js/autocomplete.js +341 -0
  287. slm/static/slm/js/enums.js +322 -0
  288. slm/static/slm/js/fileIcons.js +30 -0
  289. slm/static/slm/js/form.js +404 -0
  290. slm/static/slm/js/formWidget.js +23 -0
  291. slm/static/slm/js/persistable.js +33 -0
  292. slm/static/slm/js/slm.js +1028 -0
  293. slm/static/slm/js/time24.js +212 -0
  294. slm/static_templates/slm/css/defines.css +26 -0
  295. slm/static_templates/slm/js/enums.js +28 -0
  296. slm/static_templates/slm/js/fileIcons.js +16 -0
  297. slm/static_templates/slm/js/urls.js +5 -0
  298. slm/templates/account/base.html +20 -0
  299. slm/templates/account/email/base.html +43 -0
  300. slm/templates/account/email/base_message.txt +7 -0
  301. slm/templates/account/email/email_confirmation_message.html +16 -0
  302. slm/templates/account/email/email_confirmation_message.txt +7 -0
  303. slm/templates/account/email/email_confirmation_signup_message.html +1 -0
  304. slm/templates/account/email/email_confirmation_signup_message.txt +1 -0
  305. slm/templates/account/email/email_confirmation_signup_subject.txt +1 -0
  306. slm/templates/account/email/email_confirmation_subject.txt +4 -0
  307. slm/templates/account/email/password_reset_key_message.html +28 -0
  308. slm/templates/account/email/password_reset_key_message.txt +9 -0
  309. slm/templates/account/email/password_reset_key_subject.txt +4 -0
  310. slm/templates/account/email/unknown_account_message.html +25 -0
  311. slm/templates/account/email/unknown_account_message.txt +12 -0
  312. slm/templates/account/email/unknown_account_subject.txt +4 -0
  313. slm/templates/account/login.html +67 -0
  314. slm/templates/account/logout.html +38 -0
  315. slm/templates/account/password_change.html +48 -0
  316. slm/templates/account/password_reset.html +51 -0
  317. slm/templates/account/password_reset_done.html +20 -0
  318. slm/templates/account/password_reset_from_key.html +52 -0
  319. slm/templates/account/password_reset_from_key_done.html +17 -0
  320. slm/templates/admin/base.html +7 -0
  321. slm/templates/messages.html +8 -0
  322. slm/templates/rest_framework/README +16 -0
  323. slm/templates/rest_framework/admin/detail.html +10 -0
  324. slm/templates/rest_framework/admin/dict_value.html +11 -0
  325. slm/templates/rest_framework/admin/list.html +32 -0
  326. slm/templates/rest_framework/admin/list_value.html +11 -0
  327. slm/templates/rest_framework/admin/simple_list_value.html +2 -0
  328. slm/templates/rest_framework/admin.html +282 -0
  329. slm/templates/rest_framework/api.html +3 -0
  330. slm/templates/rest_framework/base.html +334 -0
  331. slm/templates/rest_framework/docs/auth/basic.html +42 -0
  332. slm/templates/rest_framework/docs/auth/session.html +40 -0
  333. slm/templates/rest_framework/docs/auth/token.html +41 -0
  334. slm/templates/rest_framework/docs/document.html +37 -0
  335. slm/templates/rest_framework/docs/error.html +71 -0
  336. slm/templates/rest_framework/docs/index.html +55 -0
  337. slm/templates/rest_framework/docs/interact.html +57 -0
  338. slm/templates/rest_framework/docs/langs/javascript-intro.html +5 -0
  339. slm/templates/rest_framework/docs/langs/javascript.html +15 -0
  340. slm/templates/rest_framework/docs/langs/python-intro.html +3 -0
  341. slm/templates/rest_framework/docs/langs/python.html +13 -0
  342. slm/templates/rest_framework/docs/langs/shell-intro.html +3 -0
  343. slm/templates/rest_framework/docs/langs/shell.html +6 -0
  344. slm/templates/rest_framework/docs/link.html +113 -0
  345. slm/templates/rest_framework/docs/sidebar.html +78 -0
  346. slm/templates/rest_framework/filters/base.html +16 -0
  347. slm/templates/rest_framework/filters/ordering.html +17 -0
  348. slm/templates/rest_framework/filters/search.html +13 -0
  349. slm/templates/rest_framework/horizontal/checkbox.html +23 -0
  350. slm/templates/rest_framework/horizontal/checkbox_multiple.html +32 -0
  351. slm/templates/rest_framework/horizontal/dict_field.html +11 -0
  352. slm/templates/rest_framework/horizontal/fieldset.html +16 -0
  353. slm/templates/rest_framework/horizontal/form.html +6 -0
  354. slm/templates/rest_framework/horizontal/input.html +21 -0
  355. slm/templates/rest_framework/horizontal/list_field.html +11 -0
  356. slm/templates/rest_framework/horizontal/list_fieldset.html +13 -0
  357. slm/templates/rest_framework/horizontal/radio.html +42 -0
  358. slm/templates/rest_framework/horizontal/select.html +36 -0
  359. slm/templates/rest_framework/horizontal/select_multiple.html +38 -0
  360. slm/templates/rest_framework/horizontal/textarea.html +21 -0
  361. slm/templates/rest_framework/inline/checkbox.html +8 -0
  362. slm/templates/rest_framework/inline/checkbox_multiple.html +14 -0
  363. slm/templates/rest_framework/inline/dict_field.html +9 -0
  364. slm/templates/rest_framework/inline/fieldset.html +6 -0
  365. slm/templates/rest_framework/inline/form.html +8 -0
  366. slm/templates/rest_framework/inline/input.html +9 -0
  367. slm/templates/rest_framework/inline/list_field.html +9 -0
  368. slm/templates/rest_framework/inline/list_fieldset.html +3 -0
  369. slm/templates/rest_framework/inline/radio.html +25 -0
  370. slm/templates/rest_framework/inline/select.html +24 -0
  371. slm/templates/rest_framework/inline/select_multiple.html +25 -0
  372. slm/templates/rest_framework/inline/textarea.html +9 -0
  373. slm/templates/rest_framework/login.html +3 -0
  374. slm/templates/rest_framework/login_base.html +65 -0
  375. slm/templates/rest_framework/pagination/numbers.html +47 -0
  376. slm/templates/rest_framework/pagination/previous_and_next.html +21 -0
  377. slm/templates/rest_framework/raw_data_form.html +11 -0
  378. slm/templates/rest_framework/schema.js +3 -0
  379. slm/templates/rest_framework/vertical/checkbox.html +16 -0
  380. slm/templates/rest_framework/vertical/checkbox_multiple.html +30 -0
  381. slm/templates/rest_framework/vertical/dict_field.html +7 -0
  382. slm/templates/rest_framework/vertical/fieldset.html +13 -0
  383. slm/templates/rest_framework/vertical/form.html +6 -0
  384. slm/templates/rest_framework/vertical/input.html +17 -0
  385. slm/templates/rest_framework/vertical/list_field.html +7 -0
  386. slm/templates/rest_framework/vertical/list_fieldset.html +7 -0
  387. slm/templates/rest_framework/vertical/radio.html +40 -0
  388. slm/templates/rest_framework/vertical/select.html +34 -0
  389. slm/templates/rest_framework/vertical/select_multiple.html +31 -0
  390. slm/templates/rest_framework/vertical/textarea.html +17 -0
  391. slm/templates/slm/about.html +21 -0
  392. slm/templates/slm/alerts/alert.html +15 -0
  393. slm/templates/slm/alerts/geodesymlinvalid.html +8 -0
  394. slm/templates/slm/alerts/importalert.html +10 -0
  395. slm/templates/slm/alerts.html +18 -0
  396. slm/templates/slm/auth_menu.html +41 -0
  397. slm/templates/slm/base.html +195 -0
  398. slm/templates/slm/emails/alert_issued.html +31 -0
  399. slm/templates/slm/emails/alert_issued.txt +9 -0
  400. slm/templates/slm/emails/base.html +6 -0
  401. slm/templates/slm/emails/changes_rejected.txt +7 -0
  402. slm/templates/slm/emails/review_requested.txt +7 -0
  403. slm/templates/slm/forms/widgets/auto_complete.html +21 -0
  404. slm/templates/slm/forms/widgets/auto_complete_multiple.html +18 -0
  405. slm/templates/slm/forms/widgets/checkbox_multiple.html +6 -0
  406. slm/templates/slm/forms/widgets/inline_multi.html +1 -0
  407. slm/templates/slm/forms/widgets/splitdatetime.html +14 -0
  408. slm/templates/slm/forms/widgets/time24.html +37 -0
  409. slm/templates/slm/help.html +54 -0
  410. slm/templates/slm/messages.html +13 -0
  411. slm/templates/slm/new_site.html +88 -0
  412. slm/templates/slm/profile.html +57 -0
  413. slm/templates/slm/register.html +40 -0
  414. slm/templates/slm/reports/file_log.html +43 -0
  415. slm/templates/slm/reports/head_log.html +23 -0
  416. slm/templates/slm/reports/head_report.html +55 -0
  417. slm/templates/slm/reports/index_log.html +23 -0
  418. slm/templates/slm/reports/index_report.html +71 -0
  419. slm/templates/slm/station/alert.html +8 -0
  420. slm/templates/slm/station/alerts.html +19 -0
  421. slm/templates/slm/station/base.html +104 -0
  422. slm/templates/slm/station/download.html +87 -0
  423. slm/templates/slm/station/edit.html +283 -0
  424. slm/templates/slm/station/form.html +110 -0
  425. slm/templates/slm/station/log.html +18 -0
  426. slm/templates/slm/station/review.html +461 -0
  427. slm/templates/slm/station/upload.html +295 -0
  428. slm/templates/slm/station/uploads/attachment.html +20 -0
  429. slm/templates/slm/station/uploads/geodesyml.html +1 -0
  430. slm/templates/slm/station/uploads/image.html +27 -0
  431. slm/templates/slm/station/uploads/json.html +0 -0
  432. slm/templates/slm/station/uploads/legacy.html +77 -0
  433. slm/templates/slm/top_nav.html +14 -0
  434. slm/templates/slm/user_activity.html +16 -0
  435. slm/templates/slm/widgets/alert_scroll.html +135 -0
  436. slm/templates/slm/widgets/filelist.html +258 -0
  437. slm/templates/slm/widgets/legend.html +12 -0
  438. slm/templates/slm/widgets/log_scroll.html +88 -0
  439. slm/templates/slm/widgets/stationlist.html +233 -0
  440. slm/templatetags/__init__.py +0 -0
  441. slm/templatetags/jinja2.py +9 -0
  442. slm/templatetags/slm.py +459 -0
  443. slm/urls.py +148 -0
  444. slm/utils.py +299 -0
  445. slm/validators.py +297 -0
  446. slm/views.py +654 -0
  447. slm/widgets.py +134 -0
@@ -0,0 +1,844 @@
1
+ # Generated by Django 4.1.8 on 2023-04-21 14:28
2
+
3
+ import django.contrib.gis.db.models.fields
4
+ import django.core.validators
5
+ import django_enum.fields
6
+ from django.db import migrations, models
7
+
8
+
9
+ class Migration(migrations.Migration):
10
+ dependencies = [
11
+ ("slm", "0009_alter_archiveindex_end"),
12
+ ]
13
+
14
+ operations = [
15
+ migrations.AlterField(
16
+ model_name="dataavailability",
17
+ name="rinex_version",
18
+ field=django_enum.fields.EnumPositiveSmallIntegerField(
19
+ choices=[
20
+ (1, "RINEX 1"),
21
+ (2, "RINEX 2"),
22
+ (3, "RINEX 3"),
23
+ (4, "RINEX 4"),
24
+ (211, "RINEX 2.11"),
25
+ (300, "RINEX 3.00"),
26
+ (301, "RINEX 3.01"),
27
+ (302, "RINEX 3.02"),
28
+ (303, "RINEX 3.03"),
29
+ (304, "RINEX 3.04"),
30
+ (305, "RINEX 3.05"),
31
+ (400, "RINEX 4.00"),
32
+ ],
33
+ db_index=True,
34
+ default=1,
35
+ null=True,
36
+ ),
37
+ ),
38
+ migrations.AlterField(
39
+ model_name="siteantenna",
40
+ name="alignment",
41
+ field=models.FloatField(
42
+ blank=True,
43
+ db_index=True,
44
+ default=None,
45
+ help_text='Enter the clockwise offset from true north in degrees. The positive direction is clockwise, so that due east would be equivalent to a response of "+90". Format: (deg; + is clockwise/east)',
46
+ null=True,
47
+ validators=[
48
+ django.core.validators.MinValueValidator(-180),
49
+ django.core.validators.MaxValueValidator(180),
50
+ ],
51
+ verbose_name="Alignment from True N (°)",
52
+ ),
53
+ ),
54
+ migrations.AlterField(
55
+ model_name="siteantenna",
56
+ name="marker_enu",
57
+ field=django.contrib.gis.db.models.fields.PointField(
58
+ blank=True,
59
+ default=None,
60
+ dim=3,
61
+ help_text="East-North-Up eccentricity is the offset between the ARP and marker described in section 1 measured to an accuracy of 1mm. Format: (F8.4) Value 0 is OK",
62
+ null=True,
63
+ srid=0,
64
+ verbose_name="Marker->ARP ENU Ecc (m)",
65
+ ),
66
+ ),
67
+ migrations.AlterField(
68
+ model_name="siteantenna",
69
+ name="reference_point",
70
+ field=django_enum.fields.EnumPositiveSmallIntegerField(
71
+ blank=True,
72
+ choices=[
73
+ (1, "BAM (Bottom of Antenna Mount)"),
74
+ (2, "BCR (Bottom of Chokering)"),
75
+ (3, "BDG (Bottom of Dome Ground Plane)"),
76
+ (4, "BGP (Bottom of Ground Plane)"),
77
+ (5, "BPA (Bottom of Preamplifier)"),
78
+ (6, "TCR (Top of Chokering)"),
79
+ (7, "TDG (Top of Dome Ground Plane)"),
80
+ (8, "TGP (Top of Ground Plane)"),
81
+ (9, "TOP (Top of Pole)"),
82
+ (10, "TPA (Top of Preamplifier)"),
83
+ ],
84
+ db_index=True,
85
+ default=None,
86
+ help_text="Locate your antenna in the file https://files.igs.org/pub/station/general/antenna.gra. Indicate the three-letter abbreviation for the point which is indicated equivalent to ARP for your antenna. Contact the Central Bureau if your antenna does not appear. Format: (BPA/BCR/XXX from antenna.gra; see instr.)",
87
+ null=True,
88
+ verbose_name="Antenna Reference Point",
89
+ ),
90
+ ),
91
+ migrations.AlterField(
92
+ model_name="siteantenna",
93
+ name="serial_number",
94
+ field=models.CharField(
95
+ blank=True,
96
+ db_index=True,
97
+ help_text="Only Alpha Numeric Chars and - . Symbols allowed",
98
+ max_length=128,
99
+ verbose_name="Serial Number",
100
+ ),
101
+ ),
102
+ migrations.AlterField(
103
+ model_name="sitecollocation",
104
+ name="effective_end",
105
+ field=models.DateField(
106
+ blank=True,
107
+ db_index=True,
108
+ default=None,
109
+ help_text="Enter the effective end date of the collocated instrument. Format: (CCYY-MM-DD)",
110
+ max_length=50,
111
+ null=True,
112
+ ),
113
+ ),
114
+ migrations.AlterField(
115
+ model_name="sitecollocation",
116
+ name="effective_start",
117
+ field=models.DateField(
118
+ blank=True,
119
+ db_index=True,
120
+ default=None,
121
+ help_text="Enter the effective start date of the collocated instrument. Format: (CCYY-MM-DD)",
122
+ max_length=50,
123
+ null=True,
124
+ ),
125
+ ),
126
+ migrations.AlterField(
127
+ model_name="sitecollocation",
128
+ name="instrument_type",
129
+ field=models.CharField(
130
+ blank=True,
131
+ db_index=True,
132
+ default="",
133
+ help_text="Select all collocated instrument types that apply",
134
+ max_length=50,
135
+ verbose_name="Instrumentation Type",
136
+ ),
137
+ ),
138
+ migrations.AlterField(
139
+ model_name="sitecollocation",
140
+ name="status",
141
+ field=django_enum.fields.EnumCharField(
142
+ blank=True,
143
+ choices=[("P", "PERMANENT"), ("M", "MOBILE")],
144
+ db_index=True,
145
+ default=None,
146
+ help_text="Select appropriate status",
147
+ max_length=50,
148
+ null=True,
149
+ verbose_name="Status",
150
+ ),
151
+ ),
152
+ migrations.AlterField(
153
+ model_name="sitefrequencystandard",
154
+ name="effective_start",
155
+ field=models.DateField(
156
+ blank=True,
157
+ db_index=True,
158
+ default=None,
159
+ help_text="Enter the effective start date for the frequency standard. Format: (CCYY-MM-DD)",
160
+ null=True,
161
+ ),
162
+ ),
163
+ migrations.AlterField(
164
+ model_name="sitefrequencystandard",
165
+ name="standard_type",
166
+ field=django_enum.fields.EnumCharField(
167
+ blank=True,
168
+ choices=[
169
+ ("I", "INTERNAL"),
170
+ ("H", "EXTERNAL H-MASER"),
171
+ ("C", "EXTERNAL CESIUM"),
172
+ ("R", "EXTERNAL RUBIDIUM"),
173
+ ("Q", "EXTERNAL QUARTZ"),
174
+ ],
175
+ db_index=True,
176
+ default=None,
177
+ help_text="Select whether the frequency standard is INTERNAL or EXTERNAL and describe the oscillator type. Format: (INTERNAL or EXTERNAL H-MASER/CESIUM/etc)",
178
+ max_length=50,
179
+ null=True,
180
+ verbose_name="Standard Type",
181
+ ),
182
+ ),
183
+ migrations.AlterField(
184
+ model_name="sitehumiditysensor",
185
+ name="height_diff",
186
+ field=models.FloatField(
187
+ blank=True,
188
+ db_index=True,
189
+ default=None,
190
+ help_text="In meters, enter the difference in height between the sensor and the GNSS antenna. Positive number indicates the sensor is above the GNSS antenna. Decimeter accuracy preferred. Format: (m)",
191
+ null=True,
192
+ verbose_name="Height Diff to Ant (m)",
193
+ ),
194
+ ),
195
+ migrations.AlterField(
196
+ model_name="sitehumiditysensor",
197
+ name="manufacturer",
198
+ field=models.CharField(
199
+ blank=True,
200
+ db_index=True,
201
+ default="",
202
+ help_text="Enter manufacturer's name",
203
+ max_length=255,
204
+ verbose_name="Manufacturer",
205
+ ),
206
+ ),
207
+ migrations.AlterField(
208
+ model_name="sitehumiditysensor",
209
+ name="model",
210
+ field=models.CharField(
211
+ blank=True,
212
+ db_index=True,
213
+ default="",
214
+ help_text="Enter humidity sensor model",
215
+ max_length=255,
216
+ verbose_name="Humidity Sensor Model",
217
+ ),
218
+ ),
219
+ migrations.AlterField(
220
+ model_name="siteidentification",
221
+ name="date_installed",
222
+ field=models.DateTimeField(
223
+ blank=True,
224
+ db_index=True,
225
+ help_text="Enter the original date that this site was included in the IGS. Format: (CCYY-MM-DDThh:mmZ)",
226
+ null=True,
227
+ verbose_name="Date Installed (UTC)",
228
+ ),
229
+ ),
230
+ migrations.AlterField(
231
+ model_name="siteidentification",
232
+ name="iers_domes_number",
233
+ field=models.CharField(
234
+ blank=True,
235
+ db_index=True,
236
+ default="",
237
+ help_text="This is strictly required. See https://itrf.ign.fr/en/network/domes/request to obtain one. Format: 9 character alphanumeric (A9)",
238
+ max_length=9,
239
+ verbose_name="IERS DOMES Number",
240
+ ),
241
+ ),
242
+ migrations.AlterField(
243
+ model_name="siteidentification",
244
+ name="site_name",
245
+ field=models.CharField(
246
+ blank=True,
247
+ db_index=True,
248
+ default="",
249
+ help_text="Enter the name of the site.",
250
+ max_length=255,
251
+ verbose_name="Site Name",
252
+ ),
253
+ ),
254
+ migrations.AlterField(
255
+ model_name="sitelocation",
256
+ name="city",
257
+ field=models.CharField(
258
+ blank=True,
259
+ db_index=True,
260
+ default="",
261
+ help_text="Enter the city or town the site is located in",
262
+ max_length=50,
263
+ verbose_name="City or Town",
264
+ ),
265
+ ),
266
+ migrations.AlterField(
267
+ model_name="sitelocation",
268
+ name="country",
269
+ field=django_enum.fields.EnumCharField(
270
+ blank=True,
271
+ choices=[
272
+ ("AD", "Andorra"),
273
+ ("AE", "United Arab Emirates (the)"),
274
+ ("AF", "Afghanistan"),
275
+ ("AG", "Antigua and Barbuda"),
276
+ ("AI", "Anguilla"),
277
+ ("AL", "Albania"),
278
+ ("AM", "Armenia"),
279
+ ("AO", "Angola"),
280
+ ("AQ", "Antarctica"),
281
+ ("AR", "Argentina"),
282
+ ("AS", "American Samoa"),
283
+ ("AT", "Austria"),
284
+ ("AU", "Australia"),
285
+ ("AW", "Aruba"),
286
+ ("AX", "Åland Islands"),
287
+ ("AZ", "Azerbaijan"),
288
+ ("BA", "Bosnia and Herzegovina"),
289
+ ("BB", "Barbados"),
290
+ ("BD", "Bangladesh"),
291
+ ("BE", "Belgium"),
292
+ ("BF", "Burkina Faso"),
293
+ ("BG", "Bulgaria"),
294
+ ("BH", "Bahrain"),
295
+ ("BI", "Burundi"),
296
+ ("BJ", "Benin"),
297
+ ("BL", "Saint Barthélemy"),
298
+ ("BM", "Bermuda"),
299
+ ("BN", "Brunei Darussalam"),
300
+ ("BO", "Bolivia (Plurinational State of)"),
301
+ ("BQ", "Bonaire, Sint Eustatius and Saba"),
302
+ ("BR", "Brazil"),
303
+ ("BS", "Bahamas (the)"),
304
+ ("BT", "Bhutan"),
305
+ ("BV", "Bouvet Island"),
306
+ ("BW", "Botswana"),
307
+ ("BY", "Belarus"),
308
+ ("BZ", "Belize"),
309
+ ("CA", "Canada"),
310
+ ("CC", "Cocos (Keeling) Islands (the)"),
311
+ ("CD", "Congo (the Democratic Republic of the)"),
312
+ ("CF", "Central African Republic (the)"),
313
+ ("CG", "Congo (the)"),
314
+ ("CH", "Switzerland"),
315
+ ("CI", "Côte d'Ivoire"),
316
+ ("CK", "Cook Islands (the)"),
317
+ ("CL", "Chile"),
318
+ ("CM", "Cameroon"),
319
+ ("CN", "China"),
320
+ ("CO", "Colombia"),
321
+ ("CR", "Costa Rica"),
322
+ ("CU", "Cuba"),
323
+ ("CV", "Cabo Verde"),
324
+ ("CW", "Curaçao"),
325
+ ("CX", "Christmas Island"),
326
+ ("CY", "Cyprus"),
327
+ ("CZ", "Czechia"),
328
+ ("DE", "Germany"),
329
+ ("DJ", "Djibouti"),
330
+ ("DK", "Denmark"),
331
+ ("DM", "Dominica"),
332
+ ("DO", "Dominican Republic (the)"),
333
+ ("DZ", "Algeria"),
334
+ ("EC", "Ecuador"),
335
+ ("EE", "Estonia"),
336
+ ("EG", "Egypt"),
337
+ ("EH", "Western Sahara*"),
338
+ ("ER", "Eritrea"),
339
+ ("ES", "Spain"),
340
+ ("ET", "Ethiopia"),
341
+ ("FI", "Finland"),
342
+ ("FJ", "Fiji"),
343
+ ("FK", "Falkland Islands (the) [Malvinas]"),
344
+ ("FM", "Micronesia (Federated States of)"),
345
+ ("FO", "Faroe Islands (the)"),
346
+ ("FR", "France"),
347
+ ("GA", "Gabon"),
348
+ (
349
+ "GB",
350
+ "United Kingdom of Great Britain and Northern Ireland (the)",
351
+ ),
352
+ ("GD", "Grenada"),
353
+ ("GE", "Georgia"),
354
+ ("GF", "French Guiana"),
355
+ ("GG", "Guernsey"),
356
+ ("GH", "Ghana"),
357
+ ("GI", "Gibraltar"),
358
+ ("GL", "Greenland"),
359
+ ("GM", "Gambia (the)"),
360
+ ("GN", "Guinea"),
361
+ ("GP", "Guadeloupe"),
362
+ ("GQ", "Equatorial Guinea"),
363
+ ("GR", "Greece"),
364
+ ("GS", "South Georgia and the South Sandwich Islands"),
365
+ ("GT", "Guatemala"),
366
+ ("GU", "Guam"),
367
+ ("GW", "Guinea-Bissau"),
368
+ ("GY", "Guyana"),
369
+ ("HK", "Hong Kong"),
370
+ ("HM", "Heard Island and McDonald Islands"),
371
+ ("HN", "Honduras"),
372
+ ("HR", "Croatia"),
373
+ ("HT", "Haiti"),
374
+ ("HU", "Hungary"),
375
+ ("ID", "Indonesia"),
376
+ ("IE", "Ireland"),
377
+ ("IL", "Israel"),
378
+ ("IM", "Isle of Man"),
379
+ ("IN", "India"),
380
+ ("IO", "British Indian Ocean Territory (the)"),
381
+ ("IQ", "Iraq"),
382
+ ("IR", "Iran (Islamic Republic of)"),
383
+ ("IS", "Iceland"),
384
+ ("IT", "Italy"),
385
+ ("JE", "Jersey"),
386
+ ("JM", "Jamaica"),
387
+ ("JO", "Jordan"),
388
+ ("JP", "Japan"),
389
+ ("KE", "Kenya"),
390
+ ("KG", "Kyrgyzstan"),
391
+ ("KH", "Cambodia"),
392
+ ("KI", "Kiribati"),
393
+ ("KM", "Comoros (the)"),
394
+ ("KN", "Saint Kitts and Nevis"),
395
+ ("KP", "Korea (the Democratic People's Republic of)"),
396
+ ("KR", "Korea (the Republic of)"),
397
+ ("KW", "Kuwait"),
398
+ ("KY", "Cayman Islands (the)"),
399
+ ("KZ", "Kazakhstan"),
400
+ ("LA", "Lao People's Democratic Republic (the)"),
401
+ ("LB", "Lebanon"),
402
+ ("LC", "Saint Lucia"),
403
+ ("LI", "Liechtenstein"),
404
+ ("LK", "Sri Lanka"),
405
+ ("LR", "Liberia"),
406
+ ("LS", "Lesotho"),
407
+ ("LT", "Lithuania"),
408
+ ("LU", "Luxembourg"),
409
+ ("LV", "Latvia"),
410
+ ("LY", "Libya"),
411
+ ("MA", "Morocco"),
412
+ ("MC", "Monaco"),
413
+ ("MD", "Moldova (the Republic of)"),
414
+ ("ME", "Montenegro"),
415
+ ("MF", "Saint Martin (French part)"),
416
+ ("MG", "Madagascar"),
417
+ ("MH", "Marshall Islands (the)"),
418
+ ("MK", "North Macedonia"),
419
+ ("ML", "Mali"),
420
+ ("MM", "Myanmar"),
421
+ ("MN", "Mongolia"),
422
+ ("MO", "Macao"),
423
+ ("MP", "Northern Mariana Islands (the)"),
424
+ ("MQ", "Martinique"),
425
+ ("MR", "Mauritania"),
426
+ ("MS", "Montserrat"),
427
+ ("MT", "Malta"),
428
+ ("MU", "Mauritius"),
429
+ ("MV", "Maldives"),
430
+ ("MW", "Malawi"),
431
+ ("MX", "Mexico"),
432
+ ("MY", "Malaysia"),
433
+ ("MZ", "Mozambique"),
434
+ ("NA", "Namibia"),
435
+ ("NC", "New Caledonia"),
436
+ ("NE", "Niger (the)"),
437
+ ("NF", "Norfolk Island"),
438
+ ("NG", "Nigeria"),
439
+ ("NI", "Nicaragua"),
440
+ ("NL", "Netherlands (the)"),
441
+ ("NO", "Norway"),
442
+ ("NP", "Nepal"),
443
+ ("NR", "Nauru"),
444
+ ("NU", "Niue"),
445
+ ("NZ", "New Zealand"),
446
+ ("OM", "Oman"),
447
+ ("PA", "Panama"),
448
+ ("PE", "Peru"),
449
+ ("PF", "French Polynesia"),
450
+ ("PG", "Papua New Guinea"),
451
+ ("PH", "Philippines (the)"),
452
+ ("PK", "Pakistan"),
453
+ ("PL", "Poland"),
454
+ ("PM", "Saint Pierre and Miquelon"),
455
+ ("PN", "Pitcairn"),
456
+ ("PR", "Puerto Rico"),
457
+ ("PS", "Palestine, State of"),
458
+ ("PT", "Portugal"),
459
+ ("PW", "Palau"),
460
+ ("PY", "Paraguay"),
461
+ ("QA", "Qatar"),
462
+ ("RE", "Réunion"),
463
+ ("RO", "Romania"),
464
+ ("RS", "Serbia"),
465
+ ("RU", "Russian Federation (the)"),
466
+ ("RW", "Rwanda"),
467
+ ("SA", "Saudi Arabia"),
468
+ ("SB", "Solomon Islands"),
469
+ ("SC", "Seychelles"),
470
+ ("SD", "Sudan (the)"),
471
+ ("SE", "Sweden"),
472
+ ("SG", "Singapore"),
473
+ ("SH", "Saint Helena, Ascension and Tristan da Cunha"),
474
+ ("SI", "Slovenia"),
475
+ ("SJ", "Svalbard and Jan Mayen"),
476
+ ("SK", "Slovakia"),
477
+ ("SL", "Sierra Leone"),
478
+ ("SM", "San Marino"),
479
+ ("SN", "Senegal"),
480
+ ("SO", "Somalia"),
481
+ ("SR", "Suriname"),
482
+ ("SS", "South Sudan"),
483
+ ("ST", "Sao Tome and Principe"),
484
+ ("SV", "El Salvador"),
485
+ ("SX", "Sint Maarten (Dutch part)"),
486
+ ("SY", "Syrian Arab Republic (the)"),
487
+ ("SZ", "Eswatini"),
488
+ ("TC", "Turks and Caicos Islands (the)"),
489
+ ("TD", "Chad"),
490
+ ("TF", "French Southern Territories (the)"),
491
+ ("TG", "Togo"),
492
+ ("TH", "Thailand"),
493
+ ("TJ", "Tajikistan"),
494
+ ("TK", "Tokelau"),
495
+ ("TL", "Timor-Leste"),
496
+ ("TM", "Turkmenistan"),
497
+ ("TN", "Tunisia"),
498
+ ("TO", "Tonga"),
499
+ ("TR", "Türkiye"),
500
+ ("TT", "Trinidad and Tobago"),
501
+ ("TV", "Tuvalu"),
502
+ ("TW", "Taiwan"),
503
+ ("TZ", "Tanzania, the United Republic of"),
504
+ ("UA", "Ukraine"),
505
+ ("UG", "Uganda"),
506
+ ("UM", "United States Minor Outlying Islands (the)"),
507
+ ("US", "United States of America (the)"),
508
+ ("UY", "Uruguay"),
509
+ ("UZ", "Uzbekistan"),
510
+ ("VA", "Holy See (the)"),
511
+ ("VC", "Saint Vincent and the Grenadines"),
512
+ ("VE", "Venezuela (Bolivarian Republic of)"),
513
+ ("VG", "Virgin Islands (British)"),
514
+ ("VI", "Virgin Islands (U.S.)"),
515
+ ("VN", "Viet Nam"),
516
+ ("VU", "Vanuatu"),
517
+ ("WF", "Wallis and Futuna"),
518
+ ("WS", "Samoa"),
519
+ ("YE", "Yemen"),
520
+ ("YT", "Mayotte"),
521
+ ("ZA", "South Africa"),
522
+ ("ZM", "Zambia"),
523
+ ("ZW", "Zimbabwe"),
524
+ ],
525
+ db_index=True,
526
+ default=None,
527
+ help_text="Enter the country/region the site is located in",
528
+ max_length=100,
529
+ null=True,
530
+ verbose_name="Country or Region",
531
+ ),
532
+ ),
533
+ migrations.AlterField(
534
+ model_name="sitelocation",
535
+ name="xyz",
536
+ field=django.contrib.gis.db.models.fields.PointField(
537
+ blank=True,
538
+ db_index=True,
539
+ dim=3,
540
+ help_text="Enter the ITRF position to a one meter precision. Format (m)",
541
+ null=True,
542
+ srid=7789,
543
+ verbose_name="Position (X, Y, Z) (m)",
544
+ ),
545
+ ),
546
+ migrations.AlterField(
547
+ model_name="sitemoreinformation",
548
+ name="primary",
549
+ field=models.CharField(
550
+ blank=True,
551
+ db_index=True,
552
+ default="",
553
+ help_text="Enter the name of the primary operational data center",
554
+ max_length=50,
555
+ verbose_name="Primary Data Center",
556
+ ),
557
+ ),
558
+ migrations.AlterField(
559
+ model_name="sitemoreinformation",
560
+ name="secondary",
561
+ field=models.CharField(
562
+ blank=True,
563
+ db_index=True,
564
+ default="",
565
+ help_text="Enter the name of the secondary or backup data center",
566
+ max_length=50,
567
+ verbose_name="Secondary Data Center",
568
+ ),
569
+ ),
570
+ migrations.AlterField(
571
+ model_name="siteoperationalcontact",
572
+ name="agency",
573
+ field=models.TextField(
574
+ blank=True,
575
+ default="",
576
+ help_text="Enter contact agency name",
577
+ max_length=300,
578
+ verbose_name="Agency",
579
+ ),
580
+ ),
581
+ migrations.AlterField(
582
+ model_name="siteoperationalcontact",
583
+ name="preferred_abbreviation",
584
+ field=models.CharField(
585
+ blank=True,
586
+ db_index=True,
587
+ default="",
588
+ help_text="Enter the contact agency's preferred abbreviation",
589
+ max_length=50,
590
+ verbose_name="Preferred Abbreviation",
591
+ ),
592
+ ),
593
+ migrations.AlterField(
594
+ model_name="siteoperationalcontact",
595
+ name="primary_email",
596
+ field=models.EmailField(
597
+ blank=True,
598
+ db_index=True,
599
+ default="",
600
+ help_text="Enter primary contact organization email address. MUST be a generic email, no personal email addresses.",
601
+ max_length=254,
602
+ verbose_name="E-mail",
603
+ ),
604
+ ),
605
+ migrations.AlterField(
606
+ model_name="siteoperationalcontact",
607
+ name="primary_name",
608
+ field=models.CharField(
609
+ blank=True,
610
+ db_index=True,
611
+ default="",
612
+ help_text="Enter primary contact organization name",
613
+ max_length=50,
614
+ verbose_name="Contact Name",
615
+ ),
616
+ ),
617
+ migrations.AlterField(
618
+ model_name="siteoperationalcontact",
619
+ name="primary_phone1",
620
+ field=models.CharField(
621
+ blank=True,
622
+ db_index=True,
623
+ default="",
624
+ help_text="Enter primary contact primary phone number",
625
+ max_length=50,
626
+ verbose_name="Telephone (primary)",
627
+ ),
628
+ ),
629
+ migrations.AlterField(
630
+ model_name="siteotherinstrumentation",
631
+ name="instrumentation",
632
+ field=models.TextField(
633
+ blank=True,
634
+ default="",
635
+ help_text="Enter any other relevant information regarding meteorological instrumentation near the site. Format: (multiple lines)",
636
+ verbose_name="Other Instrumentation",
637
+ ),
638
+ ),
639
+ migrations.AlterField(
640
+ model_name="sitepressuresensor",
641
+ name="height_diff",
642
+ field=models.FloatField(
643
+ blank=True,
644
+ db_index=True,
645
+ default=None,
646
+ help_text="In meters, enter the difference in height between the sensor and the GNSS antenna. Positive number indicates the sensor is above the GNSS antenna. Decimeter accuracy preferred. Format: (m)",
647
+ null=True,
648
+ verbose_name="Height Diff to Ant (m)",
649
+ ),
650
+ ),
651
+ migrations.AlterField(
652
+ model_name="sitepressuresensor",
653
+ name="manufacturer",
654
+ field=models.CharField(
655
+ blank=True,
656
+ db_index=True,
657
+ default="",
658
+ help_text="Enter manufacturer's name",
659
+ max_length=255,
660
+ verbose_name="Manufacturer",
661
+ ),
662
+ ),
663
+ migrations.AlterField(
664
+ model_name="sitereceiver",
665
+ name="firmware",
666
+ field=models.CharField(
667
+ blank=True,
668
+ db_index=True,
669
+ default="",
670
+ help_text="Enter the receiver firmware version. Format: (A11)",
671
+ max_length=50,
672
+ verbose_name="Firmware Version",
673
+ ),
674
+ ),
675
+ migrations.AlterField(
676
+ model_name="sitereceiver",
677
+ name="serial_number",
678
+ field=models.CharField(
679
+ blank=True,
680
+ db_index=True,
681
+ default="",
682
+ help_text="Enter the receiver serial number. Format: (A20, but note the first A5 is used in SINEX)",
683
+ max_length=50,
684
+ verbose_name="Serial Number",
685
+ ),
686
+ ),
687
+ migrations.AlterField(
688
+ model_name="siteresponsibleagency",
689
+ name="agency",
690
+ field=models.TextField(
691
+ blank=True,
692
+ default="",
693
+ help_text="Enter contact agency name",
694
+ max_length=300,
695
+ verbose_name="Agency",
696
+ ),
697
+ ),
698
+ migrations.AlterField(
699
+ model_name="siteresponsibleagency",
700
+ name="preferred_abbreviation",
701
+ field=models.CharField(
702
+ blank=True,
703
+ db_index=True,
704
+ default="",
705
+ help_text="Enter the contact agency's preferred abbreviation",
706
+ max_length=50,
707
+ verbose_name="Preferred Abbreviation",
708
+ ),
709
+ ),
710
+ migrations.AlterField(
711
+ model_name="siteresponsibleagency",
712
+ name="primary_email",
713
+ field=models.EmailField(
714
+ blank=True,
715
+ db_index=True,
716
+ default="",
717
+ help_text="Enter primary contact organization email address. MUST be a generic email, no personal email addresses.",
718
+ max_length=254,
719
+ verbose_name="E-mail",
720
+ ),
721
+ ),
722
+ migrations.AlterField(
723
+ model_name="siteresponsibleagency",
724
+ name="primary_name",
725
+ field=models.CharField(
726
+ blank=True,
727
+ db_index=True,
728
+ default="",
729
+ help_text="Enter primary contact organization name",
730
+ max_length=50,
731
+ verbose_name="Contact Name",
732
+ ),
733
+ ),
734
+ migrations.AlterField(
735
+ model_name="siteresponsibleagency",
736
+ name="primary_phone1",
737
+ field=models.CharField(
738
+ blank=True,
739
+ db_index=True,
740
+ default="",
741
+ help_text="Enter primary contact primary phone number",
742
+ max_length=50,
743
+ verbose_name="Telephone (primary)",
744
+ ),
745
+ ),
746
+ migrations.AlterField(
747
+ model_name="sitesurveyedlocalties",
748
+ name="diff_xyz",
749
+ field=django.contrib.gis.db.models.fields.PointField(
750
+ blank=True,
751
+ db_index=True,
752
+ default=None,
753
+ dim=3,
754
+ help_text="Enter the differential ITRF coordinates to one millimeter precision. Format: dx, dy, dz (m)",
755
+ null=True,
756
+ srid=7789,
757
+ verbose_name="Δ XYZ (m)",
758
+ ),
759
+ ),
760
+ migrations.AlterField(
761
+ model_name="sitetemperaturesensor",
762
+ name="height_diff",
763
+ field=models.FloatField(
764
+ blank=True,
765
+ db_index=True,
766
+ default=None,
767
+ help_text="In meters, enter the difference in height between the sensor and the GNSS antenna. Positive number indicates the sensor is above the GNSS antenna. Decimeter accuracy preferred. Format: (m)",
768
+ null=True,
769
+ verbose_name="Height Diff to Ant (m)",
770
+ ),
771
+ ),
772
+ migrations.AlterField(
773
+ model_name="sitetemperaturesensor",
774
+ name="manufacturer",
775
+ field=models.CharField(
776
+ blank=True,
777
+ db_index=True,
778
+ default="",
779
+ help_text="Enter manufacturer's name",
780
+ max_length=255,
781
+ verbose_name="Manufacturer",
782
+ ),
783
+ ),
784
+ migrations.AlterField(
785
+ model_name="sitetemperaturesensor",
786
+ name="model",
787
+ field=models.CharField(
788
+ blank=True,
789
+ db_index=True,
790
+ default="",
791
+ help_text="Enter temperature sensor model",
792
+ max_length=255,
793
+ verbose_name="Temp. Sensor Model",
794
+ ),
795
+ ),
796
+ migrations.AlterField(
797
+ model_name="sitewatervaporradiometer",
798
+ name="distance_to_antenna",
799
+ field=models.FloatField(
800
+ blank=True,
801
+ db_index=True,
802
+ default=None,
803
+ help_text="Enter the horizontal distance between the WVR and the GNSS antenna to the nearest meter. Format: (m)",
804
+ null=True,
805
+ verbose_name="Distance to Antenna (m)",
806
+ ),
807
+ ),
808
+ migrations.AlterField(
809
+ model_name="sitewatervaporradiometer",
810
+ name="height_diff",
811
+ field=models.FloatField(
812
+ blank=True,
813
+ db_index=True,
814
+ default=None,
815
+ help_text="In meters, enter the difference in height between the sensor and the GNSS antenna. Positive number indicates the sensor is above the GNSS antenna. Decimeter accuracy preferred. Format: (m)",
816
+ null=True,
817
+ verbose_name="Height Diff to Ant (m)",
818
+ ),
819
+ ),
820
+ migrations.AlterField(
821
+ model_name="sitewatervaporradiometer",
822
+ name="manufacturer",
823
+ field=models.CharField(
824
+ blank=True,
825
+ db_index=True,
826
+ default="",
827
+ help_text="Enter manufacturer's name",
828
+ max_length=255,
829
+ verbose_name="Manufacturer",
830
+ ),
831
+ ),
832
+ migrations.AlterField(
833
+ model_name="sitewatervaporradiometer",
834
+ name="model",
835
+ field=models.CharField(
836
+ blank=True,
837
+ db_index=True,
838
+ default="",
839
+ help_text="Enter water vapor radiometer",
840
+ max_length=255,
841
+ verbose_name="Water Vapor Radiometer",
842
+ ),
843
+ ),
844
+ ]