shakemap-modules 1.1.2__tar.gz → 1.1.4__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 (127) hide show
  1. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/CHANGELOG.md +7 -0
  2. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/PKG-INFO +4 -2
  3. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/code.json +72 -0
  4. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/install.sh +1 -1
  5. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/pyproject.toml +1 -0
  6. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/mapping.py +26 -8
  7. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/utils/smclone.py +24 -53
  8. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules.egg-info/PKG-INFO +4 -2
  9. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules.egg-info/requires.txt +1 -0
  10. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/.gitignore +0 -0
  11. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/.gitlab-ci.yml +0 -0
  12. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/DISCLAIMER.md +0 -0
  13. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/LICENSE.md +0 -0
  14. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/MANIFEST.in +0 -0
  15. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/README.md +0 -0
  16. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/pytest.ini +0 -0
  17. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/setup.cfg +0 -0
  18. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/setup.py +0 -0
  19. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/base/base.py +0 -0
  20. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/base/cli.py +0 -0
  21. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/base/transfer_base.py +0 -0
  22. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/assemble.py +0 -0
  23. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/associate.py +0 -0
  24. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/augment.py +0 -0
  25. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/contour.py +0 -0
  26. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/coverage.py +0 -0
  27. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/dyfi.py +0 -0
  28. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/exception.py +0 -0
  29. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/gridxml.py +0 -0
  30. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/history.py +0 -0
  31. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/info.py +0 -0
  32. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/kml.py +0 -0
  33. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/makecsv.py +0 -0
  34. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/model.py +0 -0
  35. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/plotregr.py +0 -0
  36. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/raster.py +0 -0
  37. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/rupture.py +0 -0
  38. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/save.py +0 -0
  39. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/shape.py +0 -0
  40. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/sleep.py +0 -0
  41. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/sm_select.py +0 -0
  42. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/stations.py +0 -0
  43. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/transfer_email.py +0 -0
  44. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/transfer_pdl.py +0 -0
  45. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/transfer_scp.py +0 -0
  46. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/uncertaintymaps.py +0 -0
  47. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/xtestimage.py +0 -0
  48. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/xtestplot.py +0 -0
  49. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/xtestplot_multi.py +0 -0
  50. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/coremods/xtestplot_spectra.py +0 -0
  51. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/fdsn_networks.json +0 -0
  52. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/gis/WGS1984.prj +0 -0
  53. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/gis/mi.lyr +0 -0
  54. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/gis/mi.shp.xml +0 -0
  55. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/gis/pga.lyr +0 -0
  56. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/gis/pga.shp.xml +0 -0
  57. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/gis/pgv.lyr +0 -0
  58. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/gis/pgv.shp.xml +0 -0
  59. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/gis/psa0p3.lyr +0 -0
  60. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/gis/psa0p3.shp.xml +0 -0
  61. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/gis/psa1p0.lyr +0 -0
  62. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/gis/psa1p0.shp.xml +0 -0
  63. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/gis/psa3p0.lyr +0 -0
  64. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/gis/psa3p0.shp.xml +0 -0
  65. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/gmpe_sets.conf +0 -0
  66. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/layers/alaska.wkt +0 -0
  67. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/layers/australia.wkt +0 -0
  68. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/layers/california.wkt +0 -0
  69. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/layers/cascadia.wkt +0 -0
  70. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/layers/chile.wkt +0 -0
  71. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/layers/china.wkt +0 -0
  72. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/layers/europe_share.wkt +0 -0
  73. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/layers/hawaii.wkt +0 -0
  74. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/layers/induced.wkt +0 -0
  75. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/layers/japan.wkt +0 -0
  76. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/layers/new_zealand.wkt +0 -0
  77. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/layers/south_africa.wkt +0 -0
  78. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/layers/taiwan.wkt +0 -0
  79. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/logging.conf +0 -0
  80. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/loggingspec.conf +0 -0
  81. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/mapping/circle.png +0 -0
  82. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/mapping/intensity_legend.png +0 -0
  83. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/mapping/map_strings.cn +0 -0
  84. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/mapping/map_strings.en +0 -0
  85. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/mapping/map_strings.en-AU +0 -0
  86. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/mapping/map_strings.en-CA +0 -0
  87. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/mapping/map_strings.es +0 -0
  88. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/mapping/map_strings.fr-CA +0 -0
  89. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/mapping/map_strings.it +0 -0
  90. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/mapping/map_strings.tw +0 -0
  91. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/mapping/triangle.png +0 -0
  92. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/migrate.conf +0 -0
  93. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/migratespec.conf +0 -0
  94. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/model.conf +0 -0
  95. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/modelspec.conf +0 -0
  96. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/modules.conf +0 -0
  97. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/modulesspec.conf +0 -0
  98. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/products.conf +0 -0
  99. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/productsspec.conf +0 -0
  100. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/queue.conf +0 -0
  101. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/queuespec.conf +0 -0
  102. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/select.conf +0 -0
  103. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/selectspec.conf +0 -0
  104. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/shake.conf +0 -0
  105. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/shakespec.conf +0 -0
  106. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/simulationspec.conf +0 -0
  107. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/transfer.conf +0 -0
  108. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/transfer_reviewed_origin.conf +0 -0
  109. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/data/transferspec.conf +0 -0
  110. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/mapping/mapmaker.py +0 -0
  111. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/mapping/mercatormap.py +0 -0
  112. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/mapping/scalebar.py +0 -0
  113. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/utils/amps.py +0 -0
  114. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/utils/comcat.py +0 -0
  115. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/utils/config.py +0 -0
  116. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/utils/dataframe.py +0 -0
  117. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/utils/generic_amp.py +0 -0
  118. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/utils/layers.py +0 -0
  119. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/utils/logging.py +0 -0
  120. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/utils/macros.py +0 -0
  121. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/utils/points_to_station.py +0 -0
  122. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/utils/probs.py +0 -0
  123. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules/utils/utils.py +0 -0
  124. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules.egg-info/SOURCES.txt +0 -0
  125. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules.egg-info/dependency_links.txt +0 -0
  126. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules.egg-info/entry_points.txt +0 -0
  127. {shakemap_modules-1.1.2 → shakemap_modules-1.1.4}/src/shakemap_modules.egg-info/top_level.txt +0 -0
@@ -1,5 +1,12 @@
1
1
  # main
2
2
 
3
+ ## 1.1.4 / 2025-04-07
4
+ - Fixed a bug in sm_clone that prevented the preferred Atlas shakemap from being chosen by default.
5
+ - Fixed a bug that caused sm_clone to incorrectly fail on older fault text files.
6
+
7
+ ## 1.1.3 / 2025-03-20
8
+ - Added an option to mapping module to save figure objects to files that can be overplotted later.
9
+
3
10
  ## 1.1.2 / 2025-03-13
4
11
  - Fix points mode in model to use the same bounds that grid mode would use, insuring consistent bias between modes.
5
12
  - Set a fixed seed for FFSimmer RNG (RFF) to make results between runs and across deployments consistent.
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: shakemap-modules
3
- Version: 1.1.2
3
+ Version: 1.1.4
4
4
  Summary: USGS Earthquake Impact ShakeMap Modules
5
5
  Author-email: Bruce Worden <cbworden@contractor.usgs.gov>, Eric Thompson <emthompsone@usgs.gov>, Mike Hearne <mhearne@usgs.gov>
6
6
  License: License
@@ -90,6 +90,7 @@ Requires-Dist: scipy; extra == "kml"
90
90
  Requires-Dist: shapely; extra == "kml"
91
91
  Requires-Dist: simplekml>=1.3.6; extra == "kml"
92
92
  Provides-Extra: mapping
93
+ Requires-Dist: dill; extra == "mapping"
93
94
  Requires-Dist: esi-utils-colors>=1.0.3; extra == "mapping"
94
95
  Requires-Dist: esi-utils-geo>=0.9.2; extra == "mapping"
95
96
  Requires-Dist: esi-utils-gmice>=1.0; extra == "mapping"
@@ -162,6 +163,7 @@ Requires-Dist: twine; extra == "build"
162
163
  Requires-Dist: esi-releases; extra == "build"
163
164
  Provides-Extra: all
164
165
  Requires-Dist: shakemap-modules[assemble,associate,augment,contour,coverage,dyfi,exception,gridxml,history,info,kml,mapping,model,plotregr,raster,rupture,save,shape,sleep,sm-select,stations,transfer-email,transfer-pdl,transfer-scp,uncertaintymaps,xtestimage,xtestplot,xtestplot-multi,xtestplot-spectra]; extra == "all"
166
+ Dynamic: license-file
165
167
 
166
168
  # shakemap-modules
167
169
 
@@ -1,4 +1,76 @@
1
1
  [
2
+ {
3
+ "name": "shakemap-modules",
4
+ "description": "ShakeMap processing modules.",
5
+ "version": "v1.1.4",
6
+ "status": "Development",
7
+ "organization": "U.S. Geological Survey",
8
+ "vcs": "git",
9
+ "repositoryURL": "https://code.usgs.gov/ghsc/esi/shakemap-modules.git",
10
+ "homepageURL": "https://code.usgs.gov/ghsc/esi/shakemap-modules",
11
+ "downloadURL": "https://code.usgs.gov/ghsc/esi/shakemap-modules/-/archive/v1.1.4/shakemap-modules-v1.1.4.zip",
12
+ "disclaimerURL": "https://code.usgs.gov/ghsc/esi/shakemap-modules/-/raw/v1.1.4/DISCLAIMER.md",
13
+ "permissions": {
14
+ "usageType": "openSource",
15
+ "licenses": [
16
+ {
17
+ "name": "Public Domain, CC0-1.0",
18
+ "URL": "https://code.usgs.gov/ghsc/esi/shakemap-modules/-/raw/v1.1.4/LICENSE.md"
19
+ }
20
+ ]
21
+ },
22
+ "laborHours": 1,
23
+ "languages": [
24
+ "python"
25
+ ],
26
+ "tags": [
27
+ "earthquake",
28
+ "utilities"
29
+ ],
30
+ "contact": {
31
+ "name": "Bruce Worden",
32
+ "email": "cbworden@contractor.usgs.gov"
33
+ },
34
+ "date": {
35
+ "metadataLastUpdated": "2025-03-20"
36
+ }
37
+ },
38
+ {
39
+ "name": "shakemap-modules",
40
+ "description": "ShakeMap processing modules.",
41
+ "version": "v1.1.3",
42
+ "status": "Development",
43
+ "organization": "U.S. Geological Survey",
44
+ "vcs": "git",
45
+ "repositoryURL": "https://code.usgs.gov/ghsc/esi/shakemap-modules.git",
46
+ "homepageURL": "https://code.usgs.gov/ghsc/esi/shakemap-modules",
47
+ "downloadURL": "https://code.usgs.gov/ghsc/esi/shakemap-modules/-/archive/v1.1.3/shakemap-modules-v1.1.3.zip",
48
+ "disclaimerURL": "https://code.usgs.gov/ghsc/esi/shakemap-modules/-/raw/v1.1.3/DISCLAIMER.md",
49
+ "permissions": {
50
+ "usageType": "openSource",
51
+ "licenses": [
52
+ {
53
+ "name": "Public Domain, CC0-1.0",
54
+ "URL": "https://code.usgs.gov/ghsc/esi/shakemap-modules/-/raw/v1.1.3/LICENSE.md"
55
+ }
56
+ ]
57
+ },
58
+ "laborHours": 1,
59
+ "languages": [
60
+ "python"
61
+ ],
62
+ "tags": [
63
+ "earthquake",
64
+ "utilities"
65
+ ],
66
+ "contact": {
67
+ "name": "Bruce Worden",
68
+ "email": "cbworden@contractor.usgs.gov"
69
+ },
70
+ "date": {
71
+ "metadataLastUpdated": "2025-03-20"
72
+ }
73
+ },
2
74
  {
3
75
  "name": "shakemap-modules",
4
76
  "description": "ShakeMap processing modules.",
@@ -58,7 +58,7 @@ conda activate base
58
58
 
59
59
  # Create a conda virtual environment
60
60
  echo "Creating the $VENV virtual environment:"
61
- conda create -y -n $VENV -c conda-forge python=3.9
61
+ conda create -y -n $VENV -c conda-forge python=3.11
62
62
 
63
63
 
64
64
  # Bail out at this point if the conda create command fails.
@@ -71,6 +71,7 @@ kml = [
71
71
  "simplekml>=1.3.6",
72
72
  ]
73
73
  mapping = [
74
+ "dill",
74
75
  "esi-utils-colors>=1.0.3",
75
76
  "esi-utils-geo>=0.9.2",
76
77
  "esi-utils-gmice>=1.0",
@@ -5,21 +5,19 @@ import copy
5
5
  import inspect
6
6
  import json
7
7
  import os.path
8
- from PIL import Image
9
- from configobj import ConfigObj
10
8
 
11
9
  # third party
12
10
  import cartopy.crs as ccrs
13
11
  import cartopy.feature as cfeature
12
+ import dill
14
13
  import matplotlib
15
14
  import matplotlib.pyplot as plt
16
- from matplotlib.ticker import NullLocator
17
15
  import numpy as np
18
16
  import rasterio.features
19
17
  from cartopy.feature import ShapelyFeature
20
18
  from cartopy.io.shapereader import Reader
21
- from scipy.interpolate import griddata
22
-
19
+ from configobj import ConfigObj
20
+ from esi_shakelib.utils.imt_string import oq_to_file
23
21
 
24
22
  # local imports
25
23
  from esi_utils_colors.cpalette import ColorPalette
@@ -28,8 +26,11 @@ from esi_utils_io.smcontainers import ShakeMapOutputContainer
28
26
  from mapio.geodict import GeoDict
29
27
  from mapio.grid2d import Grid2D
30
28
  from mapio.reader import read
31
- from esi_shakelib.utils.imt_string import oq_to_file
29
+ from matplotlib.ticker import NullLocator
30
+ from PIL import Image
31
+ from scipy.interpolate import griddata
32
32
  from shakemap_modules.base.base import Contents, CoreModule
33
+ from shakemap_modules.base.cli import get_cli_args
33
34
  from shakemap_modules.mapping.mapmaker import draw_map
34
35
  from shakemap_modules.utils.config import (
35
36
  check_extra_values,
@@ -39,10 +40,8 @@ from shakemap_modules.utils.config import (
39
40
  get_custom_validator,
40
41
  get_data_path,
41
42
  )
42
- from shakemap_modules.base.cli import get_cli_args
43
43
  from shakemap_modules.utils.logging import get_generic_logger
44
44
 
45
-
46
45
  WATERCOLOR = "#7AA1DA"
47
46
 
48
47
 
@@ -67,6 +66,7 @@ class MappingModule(CoreModule):
67
66
  configs = ["products.conf"]
68
67
 
69
68
  display_magnitude = None
69
+ pickle_plots = False
70
70
 
71
71
  def __init__(self, eventid, process="shakemap", logger=None):
72
72
  super(MappingModule, self).__init__(eventid, logger=logger)
@@ -87,6 +87,13 @@ class MappingModule(CoreModule):
87
87
  type=float,
88
88
  help="Override the magnitude displayed in " "map labels.",
89
89
  )
90
+ parser.add_argument(
91
+ "-p",
92
+ "--pickle-plots",
93
+ action="store_true",
94
+ default=False,
95
+ help="Save the figure objects from each plot as a binary file that can be plotted over.",
96
+ )
90
97
  #
91
98
  # This line should be in any modules that overrides this
92
99
  # one. It will collect up everything after the current
@@ -99,6 +106,8 @@ class MappingModule(CoreModule):
99
106
  args = parser.parse_args(arglist)
100
107
  if args.display_magnitude:
101
108
  self.display_magnitude = args.display_magnitude
109
+ if args.pickle_plots:
110
+ self.pickle_plots = args.pickle_plots
102
111
  return args.rem
103
112
 
104
113
  def execute(self, datafile=None, outdir=None, config=None):
@@ -342,6 +351,7 @@ class MappingModule(CoreModule):
342
351
  "config": model_config,
343
352
  "tdict": text_dict,
344
353
  "display_magnitude": self.display_magnitude,
354
+ "pickle_plots": self.pickle_plots,
345
355
  "pdf_dpi": config["products"]["mapping"]["pdf_dpi"],
346
356
  "img_dpi": config["products"]["mapping"]["img_dpi"],
347
357
  "license_logo": llogo,
@@ -444,11 +454,19 @@ def make_map(adict):
444
454
  fig2.gca().xaxis.set_major_locator(NullLocator())
445
455
  fig2.gca().yaxis.set_major_locator(NullLocator())
446
456
  fig2.savefig(legend_file, bbox_inches="tight", pad_inches=0)
457
+ if adict["pickle_plots"]:
458
+ pickle_name = os.path.join(adict["datadir"], "intensity.pickle")
459
+ with open(pickle_name, "wb") as fobj:
460
+ dill.dump(fig1, fobj)
447
461
  plt.close(fig2)
448
462
  else:
449
463
  fileimt = oq_to_file(imtype)
450
464
  pdf_file = os.path.join(adict["datadir"], f"{fileimt}.pdf")
451
465
  jpg_file = os.path.join(adict["datadir"], f"{fileimt}.jpg")
466
+ if adict["pickle_plots"]:
467
+ pickle_name = os.path.join(adict["datadir"], f"{fileimt}.pickle")
468
+ with open(pickle_name, "wb") as fobj:
469
+ dill.dump(fig1, fobj)
452
470
 
453
471
  fig1.savefig(pdf_file, bbox_inches="tight", dpi=adict["pdf_dpi"])
454
472
  fig1.savefig(jpg_file, bbox_inches="tight", dpi=adict["img_dpi"])
@@ -16,10 +16,7 @@ import pandas as pd
16
16
  import requests
17
17
  from configobj import ConfigObj
18
18
  from esi_shakelib.station import StationList
19
- from esi_utils_rupture.factory import (
20
- rupture_from_dict_and_origin,
21
- text_to_json,
22
- )
19
+ from esi_utils_rupture.factory import rupture_from_dict_and_origin, text_to_json
23
20
  from esi_utils_rupture.origin import Origin, write_event_file
24
21
  from shakemap_modules.coremods.dyfi import _get_dyfi_dataframe
25
22
  from shakemap_modules.coremods.sm_select import SelectModule
@@ -27,7 +24,9 @@ from shakemap_modules.utils.comcat import get_bytes
27
24
  from shakemap_modules.utils.dataframe import dataframe_to_xml
28
25
  from shakemap_modules.utils.utils import get_network_name
29
26
 
30
- EVENT_URL_TEMPLATE = "https://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/{eventid}.geojson"
27
+ EVENT_URL_TEMPLATE = (
28
+ "https://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/{eventid}.geojson"
29
+ )
31
30
  EVENT_SCENARIO_TEMPLATE = (
32
31
  "https://earthquake.usgs.gov/fdsnws/scenario/1"
33
32
  "/query?eventid={eventid}&format=geojson"
@@ -87,13 +86,12 @@ class ShakeClone:
87
86
  for prefsource in DEFAULT_SOURCE_PREFERENCES:
88
87
  if prefsource in sources:
89
88
  idx = sources.index(prefsource)
89
+ break
90
90
 
91
91
  self.shakemap = shakemaps[idx]
92
92
  self.event_dict = event_dict
93
93
  if self.event_dict is None:
94
- self.event_dict = self.get_event_dict(
95
- is_online_scenario=is_online_scenario
96
- )
94
+ self.event_dict = self.get_event_dict(is_online_scenario=is_online_scenario)
97
95
 
98
96
  self.origin = Origin(self.event_dict)
99
97
 
@@ -123,9 +121,7 @@ class ShakeClone:
123
121
  / "modules.conf"
124
122
  )
125
123
  select_file = (
126
- importlib_resources.files("shakemap_modules")
127
- / "data"
128
- / "select.conf"
124
+ importlib_resources.files("shakemap_modules") / "data" / "select.conf"
129
125
  )
130
126
  model, messages = self.get_model_conf(
131
127
  module_file, select_file, skip_bounds=skip_bounds
@@ -137,12 +133,10 @@ class ShakeClone:
137
133
  model.write()
138
134
  model_filename = model.filename
139
135
  if get_dyfi or get_instrumented or get_macroseismic:
140
- macroseismic_json, instrumented_json, dyfi_json = (
141
- self.get_data_dicts(
142
- dyfi=get_dyfi,
143
- macroseismic=get_macroseismic,
144
- instrumented=get_instrumented,
145
- )
136
+ macroseismic_json, instrumented_json, dyfi_json = self.get_data_dicts(
137
+ dyfi=get_dyfi,
138
+ macroseismic=get_macroseismic,
139
+ instrumented=get_instrumented,
146
140
  )
147
141
  for jsonstr, data_type in zip(
148
142
  [macroseismic_json, instrumented_json, dyfi_json],
@@ -190,39 +184,22 @@ class ShakeClone:
190
184
  rupture_text = response.text
191
185
 
192
186
  rupture_io = StringIO(rupture_text)
193
- # text_to_json doesn't flip lat/lons around if lats come first
194
- # detect and fix that
195
- df = pd.read_csv(
196
- rupture_io,
197
- delimiter=r"\s+",
198
- names=["x1", "x2", "depth"],
199
- )
200
- # if any values in 2nd column
201
- c2_lon = (df["x2"] > 90).any() or (df["x2"] < -90).any()
202
- if c2_lon:
203
- df["tmp"] = df["x2"].copy()
204
- df["x2"] = df["x1"].copy()
205
- df["x1"] = df["tmp"]
206
- df.drop(labels=["tmp"], axis="columns", inplace=True)
207
- rupture_io = StringIO()
208
- df.to_csv(
209
- rupture_io, sep=" ", index=False, header=False
210
- )
211
- rupture_io.seek(0)
212
187
  try:
213
- rupture_dict = text_to_json(
214
- rupture_io, new_format=True
188
+ rupture_dict = text_to_json(rupture_io, new_format=True)
189
+ rupture = rupture_from_dict_and_origin(
190
+ rupture_dict, self.origin
215
191
  )
216
-
217
192
  except Exception as ve:
218
193
  try:
219
- rupture_dict = text_to_json(
220
- rupture_io, new_format=False
194
+ rupture_io.seek(0)
195
+ rupture_dict = text_to_json(rupture_io, new_format=False)
196
+ rupture = rupture_from_dict_and_origin(
197
+ rupture_dict, self.origin
221
198
  )
222
199
  has_coordinates = len(
223
- rupture_dict["features"][0]["geometry"][
224
- "coordinates"
225
- ][0]
200
+ rupture_dict["features"][0]["geometry"]["coordinates"][
201
+ 0
202
+ ]
226
203
  )
227
204
  if not has_coordinates:
228
205
  raise Exception("No coordinates found.")
@@ -233,9 +210,7 @@ class ShakeClone:
233
210
  f"{rupture_url}, error: '{e}'"
234
211
  )
235
212
  )
236
- rupture = rupture_from_dict_and_origin(
237
- rupture_dict, self.origin
238
- )
213
+
239
214
  break
240
215
 
241
216
  return rupture
@@ -416,9 +391,7 @@ class ShakeClone:
416
391
  netname = self.event_json["properties"]["net"]
417
392
  etype = "SCENARIO"
418
393
  else:
419
- netname = get_network_name(
420
- self.event_json["properties"]["net"]
421
- )
394
+ netname = get_network_name(self.event_json["properties"]["net"])
422
395
  etype = "ACTUAL"
423
396
  edict = {
424
397
  "id": eventid,
@@ -448,9 +421,7 @@ class ShakeClone:
448
421
  if self.shakemap is not None:
449
422
  infourl = self.shakemap["contents"]["download/info.json"]["url"]
450
423
  jdict = json.loads(get_bytes(infourl).decode("utf8"))
451
- versiondict = jdict["processing"]["shakemap_versions"][
452
- "map_data_history"
453
- ]
424
+ versiondict = jdict["processing"]["shakemap_versions"]["map_data_history"]
454
425
  return versiondict
455
426
 
456
427
  def get_data_dicts(
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: shakemap-modules
3
- Version: 1.1.2
3
+ Version: 1.1.4
4
4
  Summary: USGS Earthquake Impact ShakeMap Modules
5
5
  Author-email: Bruce Worden <cbworden@contractor.usgs.gov>, Eric Thompson <emthompsone@usgs.gov>, Mike Hearne <mhearne@usgs.gov>
6
6
  License: License
@@ -90,6 +90,7 @@ Requires-Dist: scipy; extra == "kml"
90
90
  Requires-Dist: shapely; extra == "kml"
91
91
  Requires-Dist: simplekml>=1.3.6; extra == "kml"
92
92
  Provides-Extra: mapping
93
+ Requires-Dist: dill; extra == "mapping"
93
94
  Requires-Dist: esi-utils-colors>=1.0.3; extra == "mapping"
94
95
  Requires-Dist: esi-utils-geo>=0.9.2; extra == "mapping"
95
96
  Requires-Dist: esi-utils-gmice>=1.0; extra == "mapping"
@@ -162,6 +163,7 @@ Requires-Dist: twine; extra == "build"
162
163
  Requires-Dist: esi-releases; extra == "build"
163
164
  Provides-Extra: all
164
165
  Requires-Dist: shakemap-modules[assemble,associate,augment,contour,coverage,dyfi,exception,gridxml,history,info,kml,mapping,model,plotregr,raster,rupture,save,shape,sleep,sm-select,stations,transfer-email,transfer-pdl,transfer-scp,uncertaintymaps,xtestimage,xtestplot,xtestplot-multi,xtestplot-spectra]; extra == "all"
166
+ Dynamic: license-file
165
167
 
166
168
  # shakemap-modules
167
169
 
@@ -64,6 +64,7 @@ shapely
64
64
  simplekml>=1.3.6
65
65
 
66
66
  [mapping]
67
+ dill
67
68
  esi-utils-colors>=1.0.3
68
69
  esi-utils-geo>=0.9.2
69
70
  esi-utils-gmice>=1.0