ww3tool 0.1.1__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 (897) hide show
  1. ww3tool-0.1.1/MANIFEST.in +4 -0
  2. ww3tool-0.1.1/PKG-INFO +245 -0
  3. ww3tool-0.1.1/README.md +2052 -0
  4. ww3tool-0.1.1/public/packaging/PACKAGING.md +215 -0
  5. ww3tool-0.1.1/pyproject.toml +5 -0
  6. ww3tool-0.1.1/run.py +552 -0
  7. ww3tool-0.1.1/setup.cfg +4 -0
  8. ww3tool-0.1.1/setup.py +176 -0
  9. ww3tool-0.1.1/src/desktop/__init__.py +29 -0
  10. ww3tool-0.1.1/src/desktop/_repo_root.py +38 -0
  11. ww3tool-0.1.1/src/desktop/application.py +63 -0
  12. ww3tool-0.1.1/src/desktop/background_runner.py +46 -0
  13. ww3tool-0.1.1/src/desktop/branding.py +30 -0
  14. ww3tool-0.1.1/src/desktop/components/__init__.py +11 -0
  15. ww3tool-0.1.1/src/desktop/components/bounds_map_preview.py +252 -0
  16. ww3tool-0.1.1/src/desktop/components/combo_box.py +98 -0
  17. ww3tool-0.1.1/src/desktop/components/forcing_progress_dialog.py +84 -0
  18. ww3tool-0.1.1/src/desktop/components/globe_picker_dialog.py +474 -0
  19. ww3tool-0.1.1/src/desktop/components/header_card.py +36 -0
  20. ww3tool-0.1.1/src/desktop/components/image_gallery_drawer.py +470 -0
  21. ww3tool-0.1.1/src/desktop/components/ndbc_station_map_dialog.py +207 -0
  22. ww3tool-0.1.1/src/desktop/components/point_edit_dialog.py +179 -0
  23. ww3tool-0.1.1/src/desktop/components/region_map_dialog.py +233 -0
  24. ww3tool-0.1.1/src/desktop/components/right_aligned_controls.py +53 -0
  25. ww3tool-0.1.1/src/desktop/components/scroll_area.py +46 -0
  26. ww3tool-0.1.1/src/desktop/components/section_title.py +56 -0
  27. ww3tool-0.1.1/src/desktop/components/styles.py +127 -0
  28. ww3tool-0.1.1/src/desktop/components/table_widget.py +58 -0
  29. ww3tool-0.1.1/src/desktop/components/validators.py +29 -0
  30. ww3tool-0.1.1/src/desktop/qt_callback_dispatcher.py +31 -0
  31. ww3tool-0.1.1/src/desktop/steps/__init__.py +13 -0
  32. ww3tool-0.1.1/src/desktop/steps/calculation_panel.py +523 -0
  33. ww3tool-0.1.1/src/desktop/steps/forcing_panel.py +268 -0
  34. ww3tool-0.1.1/src/desktop/steps/grid_panel.py +941 -0
  35. ww3tool-0.1.1/src/desktop/steps/local_run_panel.py +133 -0
  36. ww3tool-0.1.1/src/desktop/steps/point_io.py +272 -0
  37. ww3tool-0.1.1/src/desktop/steps/server_connect_panel.py +563 -0
  38. ww3tool-0.1.1/src/desktop/steps/server_ops_panel.py +111 -0
  39. ww3tool-0.1.1/src/desktop/steps/ww3_panel.py +679 -0
  40. ww3tool-0.1.1/src/desktop/view_models/__init__.py +11 -0
  41. ww3tool-0.1.1/src/desktop/view_models/forcing_step.py +136 -0
  42. ww3tool-0.1.1/src/desktop/view_models/local_run.py +49 -0
  43. ww3tool-0.1.1/src/desktop/view_models/pipeline.py +958 -0
  44. ww3tool-0.1.1/src/desktop/view_models/plot.py +201 -0
  45. ww3tool-0.1.1/src/desktop/view_models/remote.py +263 -0
  46. ww3tool-0.1.1/src/desktop/view_models/settings.py +139 -0
  47. ww3tool-0.1.1/src/desktop/windows/__init__.py +22 -0
  48. ww3tool-0.1.1/src/desktop/windows/cluster_monitor.py +1181 -0
  49. ww3tool-0.1.1/src/desktop/windows/plot_window.py +1060 -0
  50. ww3tool-0.1.1/src/desktop/windows/preprocessing_window.py +3577 -0
  51. ww3tool-0.1.1/src/desktop/windows/settings_window.py +1559 -0
  52. ww3tool-0.1.1/src/desktop/windows/tools_window.py +534 -0
  53. ww3tool-0.1.1/src/desktop/windows/work_folder_dialog.py +239 -0
  54. ww3tool-0.1.1/src/workflows/__init__.py +105 -0
  55. ww3tool-0.1.1/src/workflows/application/__init__.py +119 -0
  56. ww3tool-0.1.1/src/workflows/application/configuration.py +1462 -0
  57. ww3tool-0.1.1/src/workflows/application/download_jason3.py +182 -0
  58. ww3tool-0.1.1/src/workflows/application/forcing_coverage_checker.py +193 -0
  59. ww3tool-0.1.1/src/workflows/application/forcing_inspection.py +266 -0
  60. ww3tool-0.1.1/src/workflows/application/forcing_merge.py +64 -0
  61. ww3tool-0.1.1/src/workflows/application/forcing_preparation.py +259 -0
  62. ww3tool-0.1.1/src/workflows/application/grid_preparation.py +152 -0
  63. ww3tool-0.1.1/src/workflows/application/grid_tools.py +412 -0
  64. ww3tool-0.1.1/src/workflows/application/local_run.py +75 -0
  65. ww3tool-0.1.1/src/workflows/application/match_jason3.py +339 -0
  66. ww3tool-0.1.1/src/workflows/application/match_ndbc.py +264 -0
  67. ww3tool-0.1.1/src/workflows/application/plot_spectrum.py +182 -0
  68. ww3tool-0.1.1/src/workflows/application/plot_wave_maps.py +429 -0
  69. ww3tool-0.1.1/src/workflows/application/plot_wind_field.py +210 -0
  70. ww3tool-0.1.1/src/workflows/application/preprocessing_workflow.py +146 -0
  71. ww3tool-0.1.1/src/workflows/application/remote_ops.py +2003 -0
  72. ww3tool-0.1.1/src/workflows/application/slurm_ops.py +26 -0
  73. ww3tool-0.1.1/src/workflows/domain/__init__.py +77 -0
  74. ww3tool-0.1.1/src/workflows/domain/config_models.py +638 -0
  75. ww3tool-0.1.1/src/workflows/domain/forcing_fields.py +179 -0
  76. ww3tool-0.1.1/src/workflows/domain/grid_bounds.py +230 -0
  77. ww3tool-0.1.1/src/workflows/domain/grid_spacing_recommendation.py +153 -0
  78. ww3tool-0.1.1/src/workflows/domain/named_path_preset_yaml.py +86 -0
  79. ww3tool-0.1.1/src/workflows/domain/output_scheme_yaml.py +188 -0
  80. ww3tool-0.1.1/src/workflows/domain/parameter_catalog.py +115 -0
  81. ww3tool-0.1.1/src/workflows/domain/timestep_recommendation.py +282 -0
  82. ww3tool-0.1.1/src/workflows/infrastructure/__init__.py +12 -0
  83. ww3tool-0.1.1/src/workflows/infrastructure/adapters/__init__.py +18 -0
  84. ww3tool-0.1.1/src/workflows/infrastructure/adapters/grid_generation_adapter.py +852 -0
  85. ww3tool-0.1.1/src/workflows/infrastructure/adapters/grid_visualization_adapter.py +191 -0
  86. ww3tool-0.1.1/src/workflows/infrastructure/adapters/ww3_namelist_adapter.py +409 -0
  87. ww3tool-0.1.1/src/workflows/infrastructure/forcing/__init__.py +27 -0
  88. ww3tool-0.1.1/src/workflows/infrastructure/forcing/file_path_manager.py +175 -0
  89. ww3tool-0.1.1/src/workflows/infrastructure/forcing/file_service.py +718 -0
  90. ww3tool-0.1.1/src/workflows/infrastructure/forcing/forcing_normalize_service.py +757 -0
  91. ww3tool-0.1.1/src/workflows/infrastructure/forcing/forcing_time_metadata.py +208 -0
  92. ww3tool-0.1.1/src/workflows/infrastructure/forcing/merge_service.py +947 -0
  93. ww3tool-0.1.1/src/workflows/infrastructure/forcing/use_cases.py +340 -0
  94. ww3tool-0.1.1/src/workflows/infrastructure/forcing/variable_detector.py +156 -0
  95. ww3tool-0.1.1/src/workflows/infrastructure/grid_visualization/__init__.py +16 -0
  96. ww3tool-0.1.1/src/workflows/infrastructure/grid_visualization/rect_grid_desc_parse.py +421 -0
  97. ww3tool-0.1.1/src/workflows/infrastructure/grid_visualization/structured_grid_paths.py +82 -0
  98. ww3tool-0.1.1/src/workflows/infrastructure/grid_visualization/worker.py +1408 -0
  99. ww3tool-0.1.1/src/workflows/infrastructure/local/__init__.py +4 -0
  100. ww3tool-0.1.1/src/workflows/infrastructure/local/run_service.py +628 -0
  101. ww3tool-0.1.1/src/workflows/infrastructure/plot/__init__.py +13 -0
  102. ww3tool-0.1.1/src/workflows/infrastructure/plot/jason3_download_worker.py +702 -0
  103. ww3tool-0.1.1/src/workflows/infrastructure/plot/jason3_worker.py +904 -0
  104. ww3tool-0.1.1/src/workflows/infrastructure/plot/ndbc_worker.py +667 -0
  105. ww3tool-0.1.1/src/workflows/infrastructure/plot/photo_output.py +62 -0
  106. ww3tool-0.1.1/src/workflows/infrastructure/plot/spectrum_worker.py +1790 -0
  107. ww3tool-0.1.1/src/workflows/infrastructure/plot/wave_map_worker.py +1434 -0
  108. ww3tool-0.1.1/src/workflows/infrastructure/plot/wind_field_worker.py +485 -0
  109. ww3tool-0.1.1/src/workflows/infrastructure/plot/workers_utils.py +357 -0
  110. ww3tool-0.1.1/src/workflows/infrastructure/region_map_renderer.py +147 -0
  111. ww3tool-0.1.1/src/workflows/infrastructure/remote/__init__.py +16 -0
  112. ww3tool-0.1.1/src/workflows/infrastructure/remote/ssh_client.py +590 -0
  113. ww3tool-0.1.1/src/workflows/infrastructure/remote/ssh_config.py +139 -0
  114. ww3tool-0.1.1/src/workflows/infrastructure/runtime_config.py +1599 -0
  115. ww3tool-0.1.1/src/workflows/infrastructure/ww3/__init__.py +12 -0
  116. ww3tool-0.1.1/src/workflows/infrastructure/ww3/grid_param_write.py +160 -0
  117. ww3tool-0.1.1/src/workflows/infrastructure/ww3/modify_ww3_nml.py +678 -0
  118. ww3tool-0.1.1/src/workflows/infrastructure/ww3/namelist_param_write.py +159 -0
  119. ww3tool-0.1.1/src/workflows/infrastructure/ww3/namelists_nml.py +298 -0
  120. ww3tool-0.1.1/src/workflows/infrastructure/ww3/nested_level_dirs.py +54 -0
  121. ww3tool-0.1.1/src/workflows/infrastructure/ww3/nml_log_format.py +63 -0
  122. ww3tool-0.1.1/src/workflows/infrastructure/ww3/nml_primitives.py +96 -0
  123. ww3tool-0.1.1/src/workflows/infrastructure/ww3/restart_checkpoints.py +262 -0
  124. ww3tool-0.1.1/src/workflows/infrastructure/ww3/server_sh.py +389 -0
  125. ww3tool-0.1.1/src/workflows/infrastructure/ww3/smc_forcing_bbox.py +125 -0
  126. ww3tool-0.1.1/src/workflows/infrastructure/ww3/smc_open_boundary.py +44 -0
  127. ww3tool-0.1.1/src/workflows/infrastructure/ww3/smc_ww3_version.py +158 -0
  128. ww3tool-0.1.1/src/workflows/infrastructure/ww3/step4_service.py +182 -0
  129. ww3tool-0.1.1/src/workflows/infrastructure/ww3/widget_stubs.py +199 -0
  130. ww3tool-0.1.1/src/workflows/infrastructure/ww3/ww3_grid_nml.py +1176 -0
  131. ww3tool-0.1.1/src/workflows/infrastructure/ww3/ww3_multi_nml.py +596 -0
  132. ww3tool-0.1.1/src/workflows/infrastructure/ww3/ww3_ounf_nml.py +175 -0
  133. ww3tool-0.1.1/src/workflows/infrastructure/ww3/ww3_ounp_nml.py +356 -0
  134. ww3tool-0.1.1/src/workflows/infrastructure/ww3/ww3_prnc_nml.py +909 -0
  135. ww3tool-0.1.1/src/workflows/infrastructure/ww3/ww3_shel_nml.py +957 -0
  136. ww3tool-0.1.1/src/workflows/infrastructure/ww3/ww3_trnc_nml.py +373 -0
  137. ww3tool-0.1.1/src/workflows/interfaces/__init__.py +15 -0
  138. ww3tool-0.1.1/src/workflows/interfaces/command_line.py +1211 -0
  139. ww3tool-0.1.1/src/workflows/interfaces/interactive_cli.py +1923 -0
  140. ww3tool-0.1.1/src/workflows/interfaces/workdir_setup.py +107 -0
  141. ww3tool-0.1.1/src/workflows/support/__init__.py +24 -0
  142. ww3tool-0.1.1/src/workflows/support/formatting.py +18 -0
  143. ww3tool-0.1.1/src/workflows/support/logging.py +69 -0
  144. ww3tool-0.1.1/src/workflows/support/process_worker.py +145 -0
  145. ww3tool-0.1.1/src/workflows/support/translations.py +118 -0
  146. ww3tool-0.1.1/src/ww3tool_resources/__init__.py +18 -0
  147. ww3tool-0.1.1/src/ww3tool_resources/meshgen/README.md +100 -0
  148. ww3tool-0.1.1/src/ww3tool_resources/meshgen/get_reference_data.py +442 -0
  149. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/README.md +152 -0
  150. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Bathys/Bathy044_033d.jpg +0 -0
  151. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Bathys/ECBuoys.dat +400 -0
  152. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Bathys/SPBuoys.dat +51 -0
  153. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Bathys/Subgrdline3.dat +45 -0
  154. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/F90SMC/PropHyb/Constants.f90 +198 -0
  155. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/F90SMC/PropHyb/Makefile +45 -0
  156. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/F90SMC/PropHyb/SMCPropWW3Hyb.f90 +1473 -0
  157. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/F90SMC/PropHyb/W3DispMD.f90 +439 -0
  158. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/F90SMC/PropHyb/W3MPInitMD.f90 +515 -0
  159. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/F90SMC/PropHyb/W3PSMCMD.f90 +1884 -0
  160. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/F90SMC/PropOMP/Constants.f90 +78 -0
  161. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/F90SMC/PropOMP/Makefile +46 -0
  162. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/F90SMC/PropOMP/Makefileifort +46 -0
  163. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/F90SMC/PropOMP/SMCGPropMP.f90 +1202 -0
  164. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/F90SMC/PropOMP/W3DispMD.f90 +439 -0
  165. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/F90SMC/PropOMP/W3PSMCMD.f90 +1463 -0
  166. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/F90SMC/SWESMCoMP/Makefile +45 -0
  167. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/F90SMC/SWESMCoMP/SWEsCnstMD.f90 +226 -0
  168. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/F90SMC/SWESMCoMP/SWEsDynaMD.f90 +2167 -0
  169. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/F90SMC/SWESMCoMP/SWEsInitMD.f90 +1264 -0
  170. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/F90SMC/SWESMCoMP/SWEsInput.txt +10 -0
  171. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/F90SMC/SWESMCoMP/SWEsnSMCPM.f90 +688 -0
  172. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/F90SMC/SWESMCoMP/runSWEsOMP +58 -0
  173. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/F90SMC/constants.mod +0 -0
  174. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/LICENSE +28 -0
  175. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/PropInput.txt +9 -0
  176. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/SWEsInput.txt +10 -0
  177. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/SideInputAMM153.txt +6 -0
  178. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/SideInputSMC1dR3.txt +5 -0
  179. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/SideInputSMC1dR3Arc.txt +5 -0
  180. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/SideMPInput.txt +5 -0
  181. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/SideMPInputArc.txt +5 -0
  182. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/convps2gif +32 -0
  183. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/convps2gif90r +37 -0
  184. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/countcell4lv +56 -0
  185. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/countcell6lv +54 -0
  186. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/countijsd4lv +77 -0
  187. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/countijsd6lv +82 -0
  188. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/removecell +34 -0
  189. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/runSMCGProp +48 -0
  190. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/runSMCSideMP +52 -0
  191. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/runSWEsOMP +56 -0
  192. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/runSub3CountCell +31 -0
  193. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/runSub3SideMP +49 -0
  194. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/trimtempcels +36 -0
  195. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/Casp6125Cels.d +1293 -0
  196. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/GtLk6125Cels.d +1545 -0
  197. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/awkAmazon +8 -0
  198. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/awkAustralia +7 -0
  199. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/awkCaspiaNo +7 -0
  200. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/awkCaspian +17 -0
  201. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/awkErieStCl +7 -0
  202. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/awkGtLakeNo +7 -0
  203. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/awkMeditern +10 -0
  204. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/awkMicHuron +11 -0
  205. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/awkSuperior +9 -0
  206. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/awkTurpBngl +7 -0
  207. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/zAmazon.png +0 -0
  208. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/zCaspian0.png +0 -0
  209. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/zCaspianS.png +0 -0
  210. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/zErieStCl.png +0 -0
  211. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/zMeditern.png +0 -0
  212. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/zMerged4Atn.png +0 -0
  213. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/zMerged4Pcf.png +0 -0
  214. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/zMerged4Sth.png +0 -0
  215. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/zMicHuron.png +0 -0
  216. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/zSuperior.png +0 -0
  217. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/Linuxs/zTrimming/zTurpBngl.png +0 -0
  218. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/AMM153kmCells.py +121 -0
  219. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/AMM153kmGrids.py +224 -0
  220. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/AMM153kmProps.py +210 -0
  221. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/AMM153kmSWHts.py +174 -0
  222. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/AMM153kmWHDif.py +228 -0
  223. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/BathymetryView.py +79 -0
  224. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/ECBuoys.dat +400 -0
  225. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/GridInfo125120.txt +6 -0
  226. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/GridInfo125120Subs.txt +5 -0
  227. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/GridInfo251020.txt +6 -0
  228. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/GridInfo36125.txt +6 -0
  229. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/GridInfo61250.txt +6 -0
  230. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/GridInfo61250Subs.txt +5 -0
  231. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/GridInfoAMM153.txt +7 -0
  232. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/GridInfoGtLks.txt +6 -0
  233. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/GridInfoMeditr.txt +6 -0
  234. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/GridInfoRtdArc.txt +7 -0
  235. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/GridInfoSMC1R3.txt +5 -0
  236. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/GridInfoSWEs1d.txt +5 -0
  237. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/Gridinfo.dat +2 -0
  238. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/GtLks6125Grids.py +126 -0
  239. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/Lakes625Cells.py +116 -0
  240. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/SMC1R3W2dif.py +206 -0
  241. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/SMC1R3grids.py +273 -0
  242. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/SMC1R3wdpth.py +252 -0
  243. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/SMC61250Obstr.py +133 -0
  244. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/SMC61250Pro3S.py +179 -0
  245. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/SMC61250Rgul.txt +8 -0
  246. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/SMCGloblCell.py +114 -0
  247. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/SMCGloblGrid.py +337 -0
  248. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/SMCGloblProp.py +274 -0
  249. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/SMCGloblSWHt.py +250 -0
  250. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/SMCGridRInfo.py +58 -0
  251. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/SMCHfdinfo.dat +2 -0
  252. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/SMCRotatGrid.py +250 -0
  253. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/SMCRotatSWHt.py +174 -0
  254. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/SPBuoys.dat +51 -0
  255. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/SWEs1dinfo.dat +2 -0
  256. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/Slatlons.dat +6 -0
  257. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/Sub61250Grid3.py +304 -0
  258. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/Sub61250SWHts.py +200 -0
  259. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/Sub61250Splt3.py +224 -0
  260. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/Sub61250bstr3.py +127 -0
  261. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/SubGloblGrid.py +328 -0
  262. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/SubGloblSWHt.py +218 -0
  263. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/addtexts.py +26 -0
  264. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/awkGibrlt +8 -0
  265. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/colrboxy.py +79 -0
  266. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/colrpoly.py +70 -0
  267. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/configinterp.txt +9 -0
  268. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/configreduce.txt +8 -0
  269. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/eq2lldeg.py +102 -0
  270. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/latlon2ijs.py +121 -0
  271. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/ll2eqdeg.py +95 -0
  272. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/readcell.py +78 -0
  273. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/readftxt.py +71 -0
  274. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/readmerg.py +49 -0
  275. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/readtext.py +55 -0
  276. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/reduce_interp.py +530 -0
  277. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/regional_bounds.py +39 -0
  278. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/regulrinfo.py +96 -0
  279. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/rgbcolor.py +34 -0
  280. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/rgbspectrum.dat +257 -0
  281. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/scale_depth.py +26 -0
  282. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/scale_diff.py +38 -0
  283. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/scale_dsqrt.py +51 -0
  284. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/scale_liner.py +29 -0
  285. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/scale_logwh.py +36 -0
  286. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/scale_swh.py +26 -0
  287. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/smcellSWE.py +280 -0
  288. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/smcellbdy.py +346 -0
  289. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/smcellful.py +221 -0
  290. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/smcellgen.py +449 -0
  291. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/smcellmap.py +252 -0
  292. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/smcelsplit.py +262 -0
  293. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/smcelvrglr.py +115 -0
  294. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/smcelvrts.py +147 -0
  295. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/smcfield.py +112 -0
  296. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/smcfrglr.py +95 -0
  297. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/smcglobl.py +262 -0
  298. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/smcgrglr.py +149 -0
  299. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/smcgrids.py +172 -0
  300. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/smcliner.py +49 -0
  301. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/smclocal.py +193 -0
  302. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/smcontour.py +95 -0
  303. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/smcswhcv.py +50 -0
  304. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/smcupalevel.py +69 -0
  305. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/smcviewdep.py +145 -0
  306. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/smcviewrap.py +137 -0
  307. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/steromap.py +89 -0
  308. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/strendat +1 -0
  309. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/swhglobl.py +196 -0
  310. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/swhlocal.py +151 -0
  311. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/whtdfsqr.py +69 -0
  312. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/PySMCs/whtliner.py +52 -0
  313. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/README.md +2 -0
  314. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/SMCGTools_Guide.pdf +0 -0
  315. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/output/SMC_ChinaSeaBdys.dat +842 -0
  316. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/SMCGTools/output/SMC_ChinaSeaRunInfo.json +14 -0
  317. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/create_grid.py +1136 -0
  318. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/grid.json +46 -0
  319. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/output/grid.json +61 -0
  320. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/output/grid_boundary.dat +7790 -0
  321. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/output/grid_cell.dat +8944 -0
  322. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/output/grid_iside.dat +11229 -0
  323. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/output/grid_jside.dat +11039 -0
  324. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/output/grid_subtr.dat +8944 -0
  325. ww3tool-0.1.1/src/ww3tool_resources/meshgen/smc_generator/smcgside.py +393 -0
  326. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/README.md +178 -0
  327. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/.gitignore +39 -0
  328. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/LICENSE +674 -0
  329. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/README.md +23 -0
  330. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/README +14 -0
  331. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/cart2ll_polarstereo.m +58 -0
  332. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/clean_mask.m +167 -0
  333. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/clear_BS_ATNE_new.m +31 -0
  334. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/clear_Caspian_Sea_glob.m +47 -0
  335. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/clear_Hudson_Bay.m +27 -0
  336. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/clear_glob_30m.m +43 -0
  337. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/compute_boundary.m +1043 -0
  338. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/compute_boundary_iro.m +861 -0
  339. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/compute_boundary_xyz.m +861 -0
  340. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/compute_cellcorner.m +250 -0
  341. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/create_boundary.m +437 -0
  342. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/create_boundary_7M.m +411 -0
  343. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/create_boundary_SWPAC.m +410 -0
  344. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/create_grid.m +609 -0
  345. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/create_grid_curv.m +194 -0
  346. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/create_namelist.m +116 -0
  347. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/create_obstr.m +1032 -0
  348. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/emodnet_to_XYZ.f90 +147 -0
  349. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/gebco_to_XYZ.f90 +134 -0
  350. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/generate_grid.m +441 -0
  351. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/generate_grid_xyz.m +305 -0
  352. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/ispolyselfintersect.m +42 -0
  353. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/license_namelist.txt +24 -0
  354. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/load_grd_emodnet.m +296 -0
  355. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/make_bounc.sh +84 -0
  356. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/modify_mask.m +195 -0
  357. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/mypcolor.m +20 -0
  358. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/optional_bound.m +61 -0
  359. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/overlaps.m +72 -0
  360. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/plot_bot_mask_obst.m +124 -0
  361. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/read_bot.m +12 -0
  362. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/read_mask.m +40 -0
  363. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/read_namelist.m +234 -0
  364. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/read_obstr.m +44 -0
  365. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/read_ww3meta.m +113 -0
  366. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/readme_namelist.m +74 -0
  367. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/reconcile_masks.m +103 -0
  368. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/remove_lake.m +249 -0
  369. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/specific_case/create_grid_Alaska_reg.m +275 -0
  370. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/specific_case/create_grid_iro_1k.m +289 -0
  371. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/specific_case/maskmod_Alaska_reg.m +88 -0
  372. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/split_boundary.m +113 -0
  373. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/split_boundary_iro.m +93 -0
  374. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/split_boundary_xyz.m +93 -0
  375. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/split_dateline.m +51 -0
  376. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/split_dateline_360.m +46 -0
  377. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/stereographic_lon_lat.m +48 -0
  378. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/write_fortran_namelist.m +58 -0
  379. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/write_namelist_arr.m +52 -0
  380. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/write_namelist_boo.m +29 -0
  381. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/write_namelist_flt.m +28 -0
  382. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/write_namelist_int.m +28 -0
  383. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/write_namelist_str.m +28 -0
  384. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/write_namelist_vec.m +119 -0
  385. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/write_ww3file.m +47 -0
  386. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/write_ww3meta.m +230 -0
  387. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/bin/write_ww3obstr.m +53 -0
  388. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/create_grid.m +59 -0
  389. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/grid.nml +236 -0
  390. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/namelist/gridgen.ARC-12KM.nml +235 -0
  391. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/namelist/gridgen.BENG-3M.nml +235 -0
  392. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/namelist/gridgen.BISCAY-10M.nml +235 -0
  393. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/namelist/gridgen.GLOB-20KM.nml +236 -0
  394. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/namelist/gridgen.GLOB-30M.nml +235 -0
  395. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/namelist/gridgen.GLOB-60M.nml +235 -0
  396. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/namelist/gridgen.IROISE-1M.nml +235 -0
  397. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/namelist/gridgen.NATL-1D.nml +235 -0
  398. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/namelist/gridgen.NATL-60M.nml +235 -0
  399. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/namelist/gridgen.NC-3M.nml +235 -0
  400. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/namelist/gridgen.NORWAY-3M.nml +235 -0
  401. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/namelist/gridgen.ZA-7M.nml +235 -0
  402. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/python/compare_bot_glob_30m.py +51 -0
  403. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/python/compare_mask_glob_30m.py +152 -0
  404. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/python/gridgen_curvilinear_latlon.ipynb +304 -0
  405. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/python/gridgen_viewer.ipynb +723 -0
  406. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/python/read_bot.py +31 -0
  407. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/python/read_mask.py +30 -0
  408. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/python/read_slope.py +108 -0
  409. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/reference/alaska_10minzone.ascii +73 -0
  410. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/reference/nc_ww3_grdwrite.m +186 -0
  411. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/reference/stereo_readme +24 -0
  412. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/reference/user_polygons.flag +50 -0
  413. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/gridgen/reference/xyz_iro_1k.log +4 -0
  414. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/.idea/.gitignore +8 -0
  415. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/.idea/inspectionProfiles/Project_Default.xml +13 -0
  416. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/.idea/inspectionProfiles/profiles_settings.xml +6 -0
  417. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/.idea/misc.xml +7 -0
  418. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/.idea/modules.xml +8 -0
  419. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/.idea/python_version.iml +14 -0
  420. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/.idea/workspace.xml +66 -0
  421. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/__init__.py +14 -0
  422. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/create_grid.py +969 -0
  423. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/grid/__init__.py +13 -0
  424. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/grid/clean_mask.py +126 -0
  425. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/grid/compute_boundary.py +887 -0
  426. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/grid/create_obstr.py +1015 -0
  427. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/grid/generate_grid.py +501 -0
  428. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/grid/remove_lake.py +206 -0
  429. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/grid/split_boundary.py +140 -0
  430. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/grid.nml +239 -0
  431. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/io/__init__.py +12 -0
  432. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/io/optional_bound.py +112 -0
  433. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/io/read_namelist.py +125 -0
  434. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/io/write_ww3file.py +57 -0
  435. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/io/write_ww3meta.py +262 -0
  436. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/io/write_ww3obstr.py +62 -0
  437. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/utils/__init__.py +8 -0
  438. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/utils/compute_cellcorner.py +277 -0
  439. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/utils/create_custom_grid.py +245 -0
  440. ww3tool-0.1.1/src/ww3tool_resources/meshgen/structured_generator/pygridgen/utils/parallel.py +149 -0
  441. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/README.md +281 -0
  442. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/create_grid.py +1657 -0
  443. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/grid.json +58 -0
  444. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/.github/workflows/setup.yml +65 -0
  445. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/.gitignore +37 -0
  446. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/LICENSE.md +12 -0
  447. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/MANIFEST.in +9 -0
  448. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/README.md +90 -0
  449. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/build.py +183 -0
  450. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/cache/.keep +0 -0
  451. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/example.py +71 -0
  452. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/.gitattributes +1 -0
  453. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/.github/workflows/cmake.yml +114 -0
  454. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/.gitignore +9 -0
  455. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/CMakeLists.txt +4 -0
  456. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/LICENSE.md +12 -0
  457. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/README.md +102 -0
  458. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/bin/.keep +0 -0
  459. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/bin/marche +0 -0
  460. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/bin/tripod +0 -0
  461. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/example.jig +452 -0
  462. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/geo/airfoil.jig +26 -0
  463. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/geo/airfoil.msh +957 -0
  464. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/geo/bunny.jig +24 -0
  465. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/geo/bunny.msh +32033 -0
  466. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/geo/earth.jig +25 -0
  467. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/geo/earth.msh +16634 -0
  468. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/geo/lakes.jig +26 -0
  469. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/geo/lakes.msh +611 -0
  470. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/geo/parts.jig +26 -0
  471. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/geo/parts.msh +4181 -0
  472. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/img/bunny-TRIA3-1.png +0 -0
  473. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/img/bunny-TRIA3-2.png +0 -0
  474. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/img/bunny-TRIA3-3.png +0 -0
  475. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/img/bunny-TRIA4-3.png +0 -0
  476. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/inc/jigsaw_const.h +109 -0
  477. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/inc/jigsaw_jig_t.h +542 -0
  478. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/inc/jigsaw_msh_t.h +258 -0
  479. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/inc/lib_jigsaw.h +348 -0
  480. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/lib/.keep +0 -0
  481. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/out/.keep +0 -0
  482. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/CMakeLists.txt +201 -0
  483. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/geo_load.hpp +1404 -0
  484. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/hfn_init.hpp +289 -0
  485. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/hfn_load.hpp +2517 -0
  486. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/hfn_save.inc +1064 -0
  487. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/ini_load.hpp +1357 -0
  488. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/jig_load.hpp +1188 -0
  489. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/jig_read.hpp +738 -0
  490. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/jigsaw.cpp +933 -0
  491. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/jigsaw.hpp +2109 -0
  492. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/aabb_tree/aabb_mesh_k.hpp +205 -0
  493. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/aabb_tree/aabb_pred_k.hpp +815 -0
  494. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/aabb_tree/aabb_tree_k.hpp +1177 -0
  495. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/aabb_tree/aabb_type_k.hpp +218 -0
  496. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/aabbtree.hpp +65 -0
  497. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/algorithms/find.hpp +183 -0
  498. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/algorithms/sort.hpp +583 -0
  499. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/algorithms.hpp +62 -0
  500. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/allocators/alloc_base.hpp +157 -0
  501. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/allocators/alloc_item.hpp +587 -0
  502. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/allocators/alloc_pool.hpp +416 -0
  503. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/allocators/alloc_wrap.hpp +197 -0
  504. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/allocators.hpp +65 -0
  505. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/basebase.hpp +157 -0
  506. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/containers/array.hpp +821 -0
  507. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/containers/array_iter.hpp +422 -0
  508. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/containers/arraylist.hpp +509 -0
  509. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/containers/basic_stack.hpp +514 -0
  510. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/containers/block_array.hpp +862 -0
  511. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/containers/block_iter.hpp +441 -0
  512. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/containers/double_list.hpp +1032 -0
  513. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/containers/doubleiter.hpp +383 -0
  514. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/containers/fixed_array.hpp +297 -0
  515. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/containers/hashtable.hpp +579 -0
  516. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/containers/hashtwice.hpp +777 -0
  517. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/containers/iter_base.hpp +185 -0
  518. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/containers/priorityidx.hpp +737 -0
  519. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/containers/prioritymap.hpp +718 -0
  520. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/containers/priorityset.hpp +465 -0
  521. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/containers/single_list.hpp +810 -0
  522. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/containers/singleiter.hpp +354 -0
  523. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/containers.hpp +85 -0
  524. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/expansion/dd_float.hpp +554 -0
  525. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/expansion/ia_float.hpp +675 -0
  526. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/expansion/mp_basic.hpp +664 -0
  527. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/expansion/mp_float.hpp +1026 -0
  528. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/expansion/mp_utils.hpp +609 -0
  529. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/geom_base/cell_ball_k.hpp +1468 -0
  530. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/geom_base/cell_base_k.hpp +805 -0
  531. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/geom_base/intersect_k.hpp +2481 -0
  532. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/geom_base/vect_base_k.hpp +391 -0
  533. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/geom_reps/geom_base_2.hpp +255 -0
  534. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/geom_reps/geom_base_3.hpp +314 -0
  535. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/geom_reps/geom_mesh_ellipsoid_3.hpp +2301 -0
  536. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/geom_reps/geom_mesh_euclidean_2.hpp +1894 -0
  537. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/geom_reps/geom_mesh_euclidean_3.hpp +2964 -0
  538. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/geometry.hpp +70 -0
  539. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/geompred.hpp +63 -0
  540. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/geomreps.hpp +82 -0
  541. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/hashfunc.hpp +783 -0
  542. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/interpolate/hfun_base_k.hpp +107 -0
  543. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/interpolate/hfun_clip_k.hpp +1350 -0
  544. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/interpolate/hfun_constant_value_k.hpp +113 -0
  545. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/interpolate/hfun_grid_ellipsoid_3.hpp +940 -0
  546. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/interpolate/hfun_grid_euclidean_2.hpp +623 -0
  547. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/interpolate/hfun_grid_euclidean_3.hpp +859 -0
  548. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/interpolate/hfun_mesh_ellipsoid_3.hpp +834 -0
  549. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/interpolate/hfun_mesh_euclidean_2.hpp +770 -0
  550. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/interpolate/hfun_mesh_euclidean_3.hpp +819 -0
  551. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/interpolate.hpp +81 -0
  552. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/_bfs_mesh_2.inc +283 -0
  553. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/_zip_mesh_2.inc +655 -0
  554. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/cost_mesh_2.inc +291 -0
  555. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/flip_mesh_2.inc +523 -0
  556. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/iter_divs_2.inc +461 -0
  557. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/iter_divs_3.inc +57 -0
  558. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/iter_dual_2.inc +391 -0
  559. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/iter_dual_3.inc +51 -0
  560. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/iter_flip_2.inc +454 -0
  561. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/iter_flip_3.inc +298 -0
  562. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/iter_mesh_2.hpp +878 -0
  563. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/iter_mesh_3.hpp +67 -0
  564. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/iter_mesh_euclidean_2.hpp +256 -0
  565. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/iter_mesh_euclidean_3.hpp +381 -0
  566. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/iter_node_1.inc +191 -0
  567. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/iter_node_2.inc +1260 -0
  568. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/iter_node_3.inc +51 -0
  569. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/iter_pred_ellipsoid_3.hpp +344 -0
  570. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/iter_pred_euclidean_2.hpp +298 -0
  571. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/iter_timers.hpp +151 -0
  572. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/iter_zips_2.inc +1036 -0
  573. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/iter_zips_3.inc +52 -0
  574. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/move_mesh_2.inc +1459 -0
  575. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/part_mesh_2.inc +395 -0
  576. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/iter_mesh/sort_mesh_2.inc +367 -0
  577. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/itermesh.hpp +78 -0
  578. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/mathutil.hpp +320 -0
  579. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/mesh_reps/base_complex_k.hpp +3293 -0
  580. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/mesh_reps/hash_complex_k.hpp +770 -0
  581. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/mesh_reps/mesh_complex_1.hpp +432 -0
  582. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/mesh_reps/mesh_complex_2.hpp +693 -0
  583. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/mesh_reps/mesh_complex_3.hpp +1003 -0
  584. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/mesh_reps/mesh_complex_type_k.hpp +1443 -0
  585. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/mesh_reps/tria_complex_1.hpp +432 -0
  586. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/mesh_reps/tria_complex_2.hpp +582 -0
  587. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/mesh_reps/tria_complex_3.hpp +730 -0
  588. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/meshreps.hpp +95 -0
  589. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/mpfloats.hpp +76 -0
  590. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/parameters/iter_params.hpp +262 -0
  591. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/parameters/mesh_params.hpp +498 -0
  592. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/predicate/bisect_k.hpp +970 -0
  593. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/predicate/inball_k.hpp +2585 -0
  594. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/predicate/orient_k.hpp +852 -0
  595. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/predicate/predicate_k.hpp +830 -0
  596. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_base_2.hpp +598 -0
  597. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_base_3.hpp +1085 -0
  598. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_complex_2.hpp +538 -0
  599. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_complex_3.hpp +633 -0
  600. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_cost_delaunay_2.inc +340 -0
  601. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_cost_delaunay_3.inc +606 -0
  602. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_cost_delfront_2.inc +349 -0
  603. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_cost_delfront_3.inc +637 -0
  604. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_create_init_2.inc +527 -0
  605. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_create_init_3.inc +735 -0
  606. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_filt_k.hpp +1026 -0
  607. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_make_2.hpp +976 -0
  608. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_make_3.hpp +1188 -0
  609. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_mesh_2.hpp +1473 -0
  610. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_mesh_3.hpp +1924 -0
  611. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_offh_delfront_2.inc +416 -0
  612. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_offh_delfront_3.inc +648 -0
  613. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_pred_delaunay_2.hpp +273 -0
  614. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_pred_delaunay_3.hpp +343 -0
  615. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_pred_delfront_2.hpp +650 -0
  616. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_pred_delfront_3.hpp +1111 -0
  617. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_refine_ball_2.inc +509 -0
  618. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_refine_ball_3.inc +588 -0
  619. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_refine_base_2.inc +317 -0
  620. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_refine_base_3.inc +341 -0
  621. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_refine_face_2.inc +351 -0
  622. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_refine_face_3.inc +544 -0
  623. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_refine_topo_2.inc +516 -0
  624. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_refine_topo_3.inc +1225 -0
  625. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_sink_delfront_2.inc +232 -0
  626. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_sink_delfront_3.inc +458 -0
  627. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_test_bounds_2.inc +381 -0
  628. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_test_bounds_3.inc +619 -0
  629. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_timers.hpp +138 -0
  630. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_update_face_2.inc +550 -0
  631. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_update_face_3.inc +758 -0
  632. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_update_topo_2.inc +213 -0
  633. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdel_mesh/rdel_update_topo_3.inc +392 -0
  634. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/rdelmesh.hpp +109 -0
  635. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/tessellate/delaunay_scan_tria.inc +115 -0
  636. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/tessellate/delaunay_star_void.inc +213 -0
  637. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/tessellate/delaunay_tri_k.hpp +1008 -0
  638. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/tessellate/delaunay_tri_pred_2.hpp +303 -0
  639. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/tessellate/delaunay_tri_pred_3.hpp +329 -0
  640. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/tessellate/delaunay_tri_pred_4.hpp +367 -0
  641. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/tessellate/delaunay_tri_type_2.hpp +390 -0
  642. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/tessellate/delaunay_tri_type_3.hpp +524 -0
  643. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/tessellate/delaunay_tri_type_4.hpp +537 -0
  644. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/tessellate/delaunay_walk_mesh.inc +271 -0
  645. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/tessellate/laguerre_tri_pred_2.hpp +307 -0
  646. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/tessellate/laguerre_tri_pred_3.hpp +334 -0
  647. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/tessellate/laguerre_tri_pred_4.hpp +367 -0
  648. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/tessellate.hpp +76 -0
  649. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/textutil.hpp +253 -0
  650. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/libcpp/useropts.hpp +59 -0
  651. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/liblib/init_jig_t.hpp +174 -0
  652. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/liblib/init_msh_t.hpp +685 -0
  653. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/liblib/load_jig_t.hpp +448 -0
  654. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/liblib/load_msh_t.hpp +672 -0
  655. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/liblib/save_jig_t.hpp +269 -0
  656. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/liblib/save_msh_t.hpp +82 -0
  657. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/marche.hpp +540 -0
  658. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/msh_copy.hpp +536 -0
  659. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/msh_init.hpp +355 -0
  660. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/msh_read.hpp +1463 -0
  661. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/msh_save.hpp +111 -0
  662. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/msh_save.inc +1622 -0
  663. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/netcdf/COPYRIGHT.md +11 -0
  664. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/netcdf/README.md +81 -0
  665. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/netcdf/ncutil.h +517 -0
  666. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/netcdf/netcdf.h +2001 -0
  667. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/offset.hpp +267 -0
  668. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/rdt_save.inc +1418 -0
  669. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/tri_save.inc +1032 -0
  670. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/src/tripod.hpp +946 -0
  671. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/CMakeLists.txt +152 -0
  672. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/README.md +21 -0
  673. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/print.h +149 -0
  674. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test2d_a.c +108 -0
  675. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test2d_b.c +161 -0
  676. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test2d_c.c +172 -0
  677. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test2d_d.c +137 -0
  678. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test2d_e.c +136 -0
  679. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test2d_f.c +129 -0
  680. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test2d_g.c +81 -0
  681. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test2d_h.c +118 -0
  682. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test2d_i.c +121 -0
  683. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test2s_a.c +76 -0
  684. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test2s_b.c +135 -0
  685. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test2s_c.c +128 -0
  686. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test2s_e.c +110 -0
  687. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test2s_f.c +112 -0
  688. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test2s_g.c +104 -0
  689. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test2s_h.c +108 -0
  690. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test2s_i.c +117 -0
  691. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test3d_a.c +105 -0
  692. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test3d_b.c +144 -0
  693. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test3d_c.c +161 -0
  694. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test3d_d.c +176 -0
  695. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test3d_e.c +131 -0
  696. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test3d_f.c +123 -0
  697. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test3d_g.c +81 -0
  698. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test3d_h.c +109 -0
  699. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test3d_i.c +116 -0
  700. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/uni/test_all.c +108 -0
  701. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/external/jigsaw/version.txt +255 -0
  702. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/files/airfoil.msh +957 -0
  703. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/files/bunny.msh +32033 -0
  704. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/files/eight.msh +38607 -0
  705. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/files/lakes.msh +611 -0
  706. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/files/piece.msh +1020 -0
  707. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/files/wheel.msh +17734 -0
  708. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/__init__.py +153 -0
  709. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/_bin/.keep +0 -0
  710. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/_bin/marche +0 -0
  711. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/_bin/tripod +0 -0
  712. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/_lib/.keep +0 -0
  713. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/bisect.py +775 -0
  714. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/certify.py +296 -0
  715. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/def_t.py +61 -0
  716. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/jig_l.py +316 -0
  717. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/jig_t.py +352 -0
  718. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/jigsaw.py +633 -0
  719. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/libsaw.py +863 -0
  720. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/loadjig.py +185 -0
  721. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/loadmsh.py +650 -0
  722. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/loadprj.py +58 -0
  723. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/msh_l.py +293 -0
  724. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/msh_t.py +260 -0
  725. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/parse/__init__.py +0 -0
  726. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/parse/loadgeo.py +184 -0
  727. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/parse/saveoff.py +192 -0
  728. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/parse/savevtk.py +394 -0
  729. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/parse/savewav.py +160 -0
  730. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/prj_t.py +11 -0
  731. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/project.py +250 -0
  732. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/savejig.py +225 -0
  733. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/savemsh.py +654 -0
  734. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/saveprj.py +99 -0
  735. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/tools/__init__.py +0 -0
  736. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/tools/mathutils.py +136 -0
  737. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/tools/meshutils.py +162 -0
  738. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/tools/orthoball.py +412 -0
  739. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/tools/predicate.py +354 -0
  740. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/tools/projector.py +156 -0
  741. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/jigsawpy/tools/scorecard.py +684 -0
  742. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/pyproject.toml +36 -0
  743. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/requirements.txt +2 -0
  744. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/setup.cfg +4 -0
  745. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/setup.py +80 -0
  746. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/tests/__init__.py +0 -0
  747. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/tests/case_0_.py +247 -0
  748. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/tests/case_1_.py +182 -0
  749. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/tests/case_2_.py +71 -0
  750. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/tests/case_3_.py +82 -0
  751. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/tests/case_4_.py +65 -0
  752. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/tests/case_5_.py +106 -0
  753. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/tests/case_6_.py +73 -0
  754. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/tests/case_7_.py +51 -0
  755. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/jigsaw-python/tests/case_8_.py +47 -0
  756. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/README.md +96 -0
  757. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/ShiftMesh.py +47 -0
  758. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/config.ini +56 -0
  759. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/mesh_workspace/geom.msh +3 -0
  760. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/mesh_workspace/geom_regional.msh +511 -0
  761. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/mesh_workspace/grid.msh +3 -0
  762. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/mesh_workspace/opts.jig +9 -0
  763. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/mesh_workspace/opts.log +97 -0
  764. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/mesh_workspace/opts_regional.jig +7 -0
  765. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/mesh_workspace/opts_regional.log +54 -0
  766. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/ocn_ww3.py +572 -0
  767. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/plot_msh.py +227 -0
  768. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/InterpolateBathymetry/AddBathyToMesh.py +37 -0
  769. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/InterpolateBathymetry/DivideMeshNodes.py +141 -0
  770. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/InterpolateBathymetry/DowloadBathyData.sh +103 -0
  771. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/InterpolateBathymetry/FiniteElementMeshRoutines.py +228 -0
  772. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/InterpolateBathymetry/GaussMarkov.py +134 -0
  773. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/InterpolateBathymetry/InterpolateCRM.partscat.py +371 -0
  774. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/InterpolateBathymetry/KnitOutputBackTogether.py +41 -0
  775. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/InterpolateBathymetry/MakeCommonNetCDFFileFormat.py +437 -0
  776. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/InterpolateBathymetry/README.txt +48 -0
  777. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/InterpolateBathymetry/SmoothSubsampleCMEMS.py +116 -0
  778. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/InterpolateBathymetry/SmoothSubsampleNetCDFFiles.py +135 -0
  779. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/InterpolateBathymetry/meshes/HawaiiTest.msh +1689 -0
  780. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/BuildBoundaryPSLGwGSHHS.m +354 -0
  781. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/BuildBoundaryPSLGwOSM.m +351 -0
  782. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/DownloadShapeFiles.sh +53 -0
  783. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/ExtraPointsOfIntrest.m +117 -0
  784. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/FilterRoutinesNM.py +427 -0
  785. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/LonCon.m +20 -0
  786. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/MakeCoastalBoundariesGSHHS.m +180 -0
  787. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/MakeCoastalBoundariesOSM.m +183 -0
  788. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/MakeDfunGSHHS.m +312 -0
  789. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/MakeDistanceToCoastRWPS.m +219 -0
  790. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/MakeFiguresNWCoastal.m +9 -0
  791. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/MergePslgsOSMxGSHHS.m +65 -0
  792. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/MergePslgsOSMxGSHHS_14N230W.m +77 -0
  793. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/MeshGenScript.NWcoastal.py +248 -0
  794. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/PostProcessGrid_GSHHS.m +275 -0
  795. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/PostProcessGrid_GSHHSxOSM_NewOrleans.m +266 -0
  796. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/PostProcessGrid_NWcoastal.m +151 -0
  797. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/PreProcessCoastline_GSHHS.m +15 -0
  798. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/PreProcessCoastline_NWCoastalMesh.m +19 -0
  799. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/PreProcessCoastline_RWPS_GSHHSxOSM_NewOrleans.m +21 -0
  800. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/RWPSMeshGenScript.GSHHS.py +247 -0
  801. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/RWPSMeshGenScript.GSHHSxOSM.NewOrleans.py +245 -0
  802. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/SetPath.m +97 -0
  803. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/jobcard.matlab.postjigsaw +19 -0
  804. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/jobcard.matlab.prejigsaw +19 -0
  805. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/MeshGenDirectory/jobcard.python.jigsaw +20 -0
  806. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/README.txt +10 -0
  807. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/BoundaryShape2msh.m +57 -0
  808. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/BoundingBox.m +15 -0
  809. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/BoxSmoothTopo.m +51 -0
  810. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/BuildBoundaryPSLGfunction.m +424 -0
  811. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/CombineMesh.m +20 -0
  812. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/ComputeAdjacency.m +8 -0
  813. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/ComputeLengthScale_wgs84.m +32 -0
  814. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/ComputeLengthScale_wgs84_MEL.m +31 -0
  815. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/DistanceToCoast.m +58 -0
  816. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/Ele2Nodes.m +25 -0
  817. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/EleArea.m +22 -0
  818. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/FindOuterBndNoPSLG.m +45 -0
  819. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/FindOuterBndWW3.m +47 -0
  820. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/FindPointsAx.m +14 -0
  821. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/GetMatlabLibs.sh +8 -0
  822. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/HandEditMesh.m +57 -0
  823. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/InterpCoastline.m +40 -0
  824. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/MakeDistanceToCoastData.m +128 -0
  825. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/MergePslgsOSMxGSSHS.m +63 -0
  826. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/RemoveMeshParts.m +90 -0
  827. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/RemoveMissingIslands.m +94 -0
  828. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/RemoveMissingIslandsEle.m +120 -0
  829. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/RemoveMissingIslandsPoint.m +91 -0
  830. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/RemoveSandPoints.m +81 -0
  831. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/RemoveSandPointsWW3.m +73 -0
  832. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/SmoothCoastalBoundaries.m +181 -0
  833. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/SmoothSubSampleCoastlineFast.m +28 -0
  834. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/WriteWW3Mesh.m +81 -0
  835. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/WriteWW3MeshX.m +77 -0
  836. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/detbndy.m +99 -0
  837. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/edges2chains.m +87 -0
  838. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/edges2chainsG.m +18 -0
  839. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/graphics/PlotJigsawGriddedData.m +51 -0
  840. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/graphics/PlotJigsawPSLG.m +40 -0
  841. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/graphics/PlotJigsawUnstMesh.m +76 -0
  842. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/graphics/PlotWW3Mesh.m +77 -0
  843. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/insidepoly.m +15 -0
  844. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/joinpslg.m +74 -0
  845. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/kprint.m +7 -0
  846. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/l.m +8 -0
  847. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/loadmshWW3.m +166 -0
  848. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/patch_global.m +10 -0
  849. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/pslg2geom.m +17 -0
  850. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/remove_dead_nodes.m +29 -0
  851. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/submeshFast.m +32 -0
  852. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/submeshFastEle.m +25 -0
  853. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/subpslgFast.m +35 -0
  854. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/matlab/topo2msh.m +32 -0
  855. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/python/ComputeDistanceToCoast/ComputeDistanceToCoast.py +143 -0
  856. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/python/ComputeDistanceToCoast/ComputeDistanceToCoastConv.py +176 -0
  857. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/python/ComputeDistanceToCoast/FindUSadjacentGSHHSpoints.py +99 -0
  858. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/python/ComputeDistanceToCoast/ReadWriteCoast.py +63 -0
  859. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/python/ComputeDistanceToCoast/SmoothAndInterpCoastline.py +17 -0
  860. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/python/ComputeDistanceToCoast/SmoothAndSubsampleCoastline.py +278 -0
  861. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/regional/python/ComputeDistanceToCoast/SmoothAndSubsampleCoastlineP.py +94 -0
  862. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/spacing.py +188 -0
  863. ww3tool-0.1.1/src/ww3tool_resources/meshgen/unstructured_generator/unst_msh_gen/window_mask.py +123 -0
  864. ww3tool-0.1.1/src/ww3tool_resources/params.yml +392 -0
  865. ww3tool-0.1.1/src/ww3tool_resources/public/6.07_nml/namelists.nml +616 -0
  866. ww3tool-0.1.1/src/ww3tool_resources/public/6.07_nml/ww3_grid.nml +1390 -0
  867. ww3tool-0.1.1/src/ww3tool_resources/public/6.07_nml/ww3_multi.nml +347 -0
  868. ww3tool-0.1.1/src/ww3tool_resources/public/6.07_nml/ww3_ounf.nml +157 -0
  869. ww3tool-0.1.1/src/ww3tool_resources/public/6.07_nml/ww3_ounp.nml +317 -0
  870. ww3tool-0.1.1/src/ww3tool_resources/public/6.07_nml/ww3_prnc.nml +151 -0
  871. ww3tool-0.1.1/src/ww3tool_resources/public/6.07_nml/ww3_shel.nml +629 -0
  872. ww3tool-0.1.1/src/ww3tool_resources/public/6.07_nml/ww3_strt.inp +100 -0
  873. ww3tool-0.1.1/src/ww3tool_resources/public/6.07_nml/ww3_trnc.nml +63 -0
  874. ww3tool-0.1.1/src/ww3tool_resources/public/7.14_nml/namelists.nml +1054 -0
  875. ww3tool-0.1.1/src/ww3tool_resources/public/7.14_nml/ww3_grid.nml +1390 -0
  876. ww3tool-0.1.1/src/ww3tool_resources/public/7.14_nml/ww3_multi.nml +345 -0
  877. ww3tool-0.1.1/src/ww3tool_resources/public/7.14_nml/ww3_ounf.nml +159 -0
  878. ww3tool-0.1.1/src/ww3tool_resources/public/7.14_nml/ww3_ounp.nml +374 -0
  879. ww3tool-0.1.1/src/ww3tool_resources/public/7.14_nml/ww3_prnc.nml +153 -0
  880. ww3tool-0.1.1/src/ww3tool_resources/public/7.14_nml/ww3_shel.nml +692 -0
  881. ww3tool-0.1.1/src/ww3tool_resources/public/7.14_nml/ww3_strt.inp +100 -0
  882. ww3tool-0.1.1/src/ww3tool_resources/public/7.14_nml/ww3_trnc.nml +63 -0
  883. ww3tool-0.1.1/src/ww3tool_resources/public/globe_picker/globe_picker.html +2274 -0
  884. ww3tool-0.1.1/src/ww3tool_resources/public/globe_picker/polar_tile_map.js +246 -0
  885. ww3tool-0.1.1/src/ww3tool_resources/public/languages/en_US.json +2680 -0
  886. ww3tool-0.1.1/src/ww3tool_resources/public/languages/zh_CN.json +2679 -0
  887. ww3tool-0.1.1/src/ww3tool_resources/public/resource/logo.png +0 -0
  888. ww3tool-0.1.1/src/ww3tool_resources/public/scripts/local.sh +541 -0
  889. ww3tool-0.1.1/src/ww3tool_resources/public/scripts/server.sh +651 -0
  890. ww3tool-0.1.1/src/ww3tool_resources/public/scripts/ww3_ntfy_watch.sh +514 -0
  891. ww3tool-0.1.1/src/ww3tool_resources/src/requirements.txt +17 -0
  892. ww3tool-0.1.1/ww3tool.egg-info/PKG-INFO +245 -0
  893. ww3tool-0.1.1/ww3tool.egg-info/SOURCES.txt +895 -0
  894. ww3tool-0.1.1/ww3tool.egg-info/dependency_links.txt +1 -0
  895. ww3tool-0.1.1/ww3tool.egg-info/entry_points.txt +2 -0
  896. ww3tool-0.1.1/ww3tool.egg-info/requires.txt +21 -0
  897. ww3tool-0.1.1/ww3tool.egg-info/top_level.txt +4 -0
@@ -0,0 +1,4 @@
1
+ # sdist 收集暂存后的资源包(setup.py 构建期填充)与文档
2
+ recursive-include src/ww3tool_resources *
3
+ include public/packaging/PACKAGING.md
4
+ include README.md
ww3tool-0.1.1/PKG-INFO ADDED
@@ -0,0 +1,245 @@
1
+ Metadata-Version: 2.4
2
+ Name: ww3tool
3
+ Version: 0.1.1
4
+ Summary: WW3Tool - WAVEWATCH III workflow toolkit (CLI / Shell REPL / Desktop GUI / MCP server)
5
+ Description-Content-Type: text/markdown
6
+ Requires-Dist: numpy
7
+ Requires-Dist: netCDF4
8
+ Requires-Dist: pandas
9
+ Requires-Dist: matplotlib
10
+ Requires-Dist: cartopy
11
+ Requires-Dist: Pillow
12
+ Requires-Dist: scipy
13
+ Requires-Dist: scikit-image
14
+ Requires-Dist: opencv-python
15
+ Requires-Dist: paramiko
16
+ Requires-Dist: requests
17
+ Requires-Dist: PyYAML
18
+ Requires-Dist: pyfiglet
19
+ Provides-Extra: gui
20
+ Requires-Dist: PyQt6; extra == "gui"
21
+ Requires-Dist: PyQt6-WebEngine; extra == "gui"
22
+ Requires-Dist: PyQt6-Fluent-Widgets; extra == "gui"
23
+ Provides-Extra: dev
24
+ Requires-Dist: pytest; extra == "dev"
25
+ Dynamic: description
26
+ Dynamic: description-content-type
27
+ Dynamic: provides-extra
28
+ Dynamic: requires-dist
29
+ Dynamic: summary
30
+
31
+ # WW3Tool 封装指南
32
+
33
+ 把 WW3Tool 封装成多种形态,让日常使用和 AI 客户端调用都像 `mysql` / `git`
34
+ 一样简单:
35
+
36
+ | 形态 | 入口 | 适合谁 |
37
+ | --- | --- | --- |
38
+ | CLI 全局命令 | `ww3tool`(安装后任意目录可用) | 人(终端)与脚本 |
39
+ | MCP server | 34 个 `ww3tool_*` tools + `list_commands`(stdio) | Claude / Cursor 等 AI 客户端 |
40
+
41
+ 所有形态都复用仓库根的 `run.py` 统一入口,venv 引导、依赖检查、语言切换
42
+ 完全一致,**不需要改动任何现有代码**(打包形态下仅需 `WW3TOOL_ROOT` 指向资源)。
43
+
44
+ ---
45
+
46
+ ## 一、安装方式
47
+
48
+ ### 1. 一键脚本(推荐给其他人)
49
+
50
+ macOS / Linux(bash):
51
+
52
+ ```bash
53
+ curl -fsSL https://raw.githubusercontent.com/ZxyGch/WW3Tool/master/public/packaging/remote-install.sh | bash
54
+ ```
55
+
56
+ Windows(PowerShell 5.1+ / PowerShell 7+):
57
+
58
+ ```powershell
59
+ irm https://raw.githubusercontent.com/ZxyGch/WW3Tool/master/public/packaging/install.ps1 | iex
60
+ ```
61
+
62
+ 自动完成:浅克隆仓库到 `~/.ww3tool`(Windows 为 `%USERPROFILE%\.ww3tool`)→
63
+ 把 `ww3tool` 命令放入 PATH(优先 `~/.local/bin`,其次 `/usr/local/bin`;
64
+ Windows 上生成 `ww3tool.cmd` 包装器,调用 `python` 运行 `run.py`)→
65
+ 首次运行自动建 venv 装依赖。
66
+ 可覆盖:`WW3TOOL_REPO_URL`、`WW3TOOL_INSTALL_DIR`、`WW3TOOL_BIN_DIR`。
67
+
68
+ ### 2. pip install(所有平台同一条指令)
69
+
70
+ ```bash
71
+ pip install ww3tool
72
+ # 需要桌面 GUI 时:pip install "ww3tool[gui]"
73
+ # 尚未发布到 PyPI 时(直接装 GitHub 主干):pip install git+https://github.com/ZxyGch/WW3Tool.git
74
+ ```
75
+
76
+ 安装后 `ww3tool` 命令直接可用。**wheel 自包含**:params.yml 模板、翻译
77
+ (public/languages)、namelist 模板(public/6.07_nml、7.14_nml)、网格生成器
78
+ (meshgen 瘦身子集)、依赖清单全部打进包,无需 clone 仓库、无需设置
79
+ `WW3TOOL_ROOT`。首次运行会自动建 venv 并安装依赖(需几分钟与网络)。
80
+
81
+ ### 3. Homebrew
82
+
83
+ 已发布 tap:`ZxyGch/homebrew-ww3tool`,直接使用:
84
+
85
+ ```bash
86
+ brew tap ZxyGch/ww3tool && brew trust zxygch/ww3tool && brew install ww3tool
87
+ # 或一步到位(自动 tap,首次仍需 trust):brew install ZxyGch/ww3tool
88
+ ```
89
+
90
+ > Homebrew 6+ 对第三方 tap 默认不信任,首次使用需 `brew trust`(一次性)。
91
+
92
+ 也可不发布直接本地装:`brew install ./public/packaging/Formula/ww3tool.rb`
93
+
94
+ formula 会把运行所需资源(meshgen / public / params.yml 模板)连同代码
95
+ 一起装进 Cellar,命令链接到 `/opt/homebrew/bin/ww3tool`,**无需**
96
+ `WW3TOOL_ROOT`。巨型目录(`WW3/`、`WW3-6.07.1/`、`workSpace/`)不随包分发。
97
+
98
+ ### 4. 已 clone 仓库的场景
99
+
100
+ ```bash
101
+ ./public/packaging/install.sh # 把仓库内 public/packaging/ww3tool 软链到 PATH(可 --prefix 指定目录)
102
+ ```
103
+
104
+ ### 各方式对比
105
+
106
+ | 方式 | 命令 | 需 clone 仓库 | 资源(meshgen等) | WW3TOOL_ROOT |
107
+ | --- | --- | --- | --- | --- |
108
+ | **pip** | **一条指令,三平台相同** | 不需要 | 随包 | 不需要 |
109
+ | curl \| bash | 一条命令(macOS/Linux) | 自动(~/.ww3tool) | 随仓库 | 不需要 |
110
+ | irm \| iex | 一条命令(Windows) | 自动(~/.ww3tool) | 随仓库 | 不需要 |
111
+ | brew | tap + trust + install | 自动(Cellar) | 随包 | 不需要 |
112
+ | install.sh | 一条命令 | 已 clone | 随仓库 | 不需要 |
113
+
114
+ > **通用要求**:Python 3.9+(pip 方式随 Python 自带;curl/pip 方式使用系统
115
+ > `python3`;Windows 的 irm/iex 方式使用 `python` 或 `py -3`;brew 方式使用
116
+ > Homebrew 的 `python@3.12`)。首次运行会自动建 venv 装依赖,需几分钟与网络。
117
+
118
+ ---
119
+
120
+ ## 二、使用(CLI 命令)
121
+
122
+ ```bash
123
+ ww3tool --help # 命令参考
124
+ ww3tool shell workdir/example # 交互式 REPL
125
+ ww3tool workdir my_workdir # 从模板创建工作目录
126
+ ww3tool run-workflow my_workdir # 完整预处理
127
+ ww3tool validate my_workdir # 校验配置
128
+ ww3tool local-run my_workdir # 本地跑 WW3
129
+ ww3tool upload --confirm my_workdir # 上传到远程
130
+ ```
131
+
132
+ 所有子命令与 `python3 run.py` 完全等价,从任何目录调用均可。
133
+
134
+ ---
135
+
136
+ ## 三、MCP server
137
+
138
+ 把 CLI 子命令暴露为 MCP tools(工具名 `ww3tool_<子命令>`,如
139
+ `ww3tool_run_workflow`、`ww3tool_plot_wave_maps`)。工具与参数 schema
140
+ **运行时从 `build_parser()` 自动提取**,CLI 增加命令后 MCP 自动同步。
141
+ 交互式命令 `ssh` 不通过 MCP 提供,仅 CLI 使用。
142
+
143
+ ### 1. 初始化(新环境只需一次)
144
+
145
+ ```bash
146
+ ./public/packaging/mcp/setup.sh # 创建 mcp/.venv(Python 3.12)并安装 mcp SDK
147
+ ```
148
+
149
+ ### 2. 通用 stdio 配置
150
+
151
+ 任意支持 MCP 的客户端,注册一个 stdio server,`command` 指向
152
+ `launch.sh` 即可(内容见 `public/packaging/mcp/config.example.json`):
153
+
154
+ ```json
155
+ {
156
+ "mcpServers": {
157
+ "ww3tool": {
158
+ "command": "/绝对路径/WW3Tool/public/packaging/mcp/launch.sh",
159
+ "args": []
160
+ }
161
+ }
162
+ }
163
+ ```
164
+
165
+ 把 `/绝对路径/WW3Tool` 换成实际仓库路径。各客户端放置位置:
166
+
167
+ - **Claude Desktop**:`~/Library/Application Support/Claude/claude_desktop_config.json` 的 `mcpServers` 字段
168
+ - **Cursor**:项目根 `.cursor/mcp.json`(或用 `cursor mcp add` 命令添加)
169
+ - **VS Code / Copilot**、**Cherry Studio** 等:在各自的 MCP 设置里按同样格式添加
170
+
171
+ ### 3. 工具清单(35 个)
172
+
173
+ - `list_commands`:列出全部命令及用途(帮助 LLM 选工具)
174
+ - `ww3tool_workdir / validate / config / print_params`:配置管理
175
+ - `ww3tool_prepare_forcing / generate_grid / prepare_ww3 / recommend_cfl /
176
+ recommend_grid / run_workflow / local_run / merge_forcing`:预处理
177
+ - `ww3tool_plot_wave_maps / plot_spectrum / plot_jason3 / plot_jason3_swh /
178
+ download_jason3 / plot_ndbc / download_ndbc`:后处理与绘图
179
+ - `ww3tool_connect_test / slurm_idle / confirm_slurm / upload /
180
+ submit / check_status / queue_status / download_results / download_log /
181
+ clear_remote / cancel_job / ntfy_watch / ntfy_watch_job / list_files`:远程运维
182
+ (`ssh` 为交互式命令,仅 CLI 使用)
183
+
184
+ ### 4. 使用约定(重要)
185
+
186
+ - **工作目录**:多数工具带 `workdir` 参数(含 `params.yml` 的目录)。
187
+ 建议总是显式传入;省略时使用 server 进程启动时的当前目录,结果不可预期。
188
+ - **退出码**:每个工具返回
189
+ `[exit code N] --- stdout --- ... --- stderr --- ...`,
190
+ LLM 应依据 `exit code` 判断成败(0 成功;1 运行异常;2 配置错误;
191
+ 3 破坏性操作缺 `--confirm`)。
192
+ - **破坏性操作**:`upload`、`clear_remote` 等工具保留了 CLI 的 `confirm`
193
+ 布尔参数,必须显式传 `True` 才会执行。
194
+ - **长任务**:`local_run`、`submit`、`download_results` 等可能运行很久。
195
+ 工具内建 1 小时超时(超时返回 exit code 124),客户端超时也请放宽
196
+ (或改用 CLI 执行这类任务)。
197
+
198
+ ### 5. 冒烟测试
199
+
200
+ ```bash
201
+ public/packaging/mcp/.venv/bin/python public/packaging/mcp/tests/smoke_test.py
202
+ ```
203
+
204
+ 会真实走一遍 `initialize → tools/list → tools/call`(含创建一个临时
205
+ 工作目录并执行 `ww3tool_config` / `ww3tool_validate`)。
206
+
207
+ ---
208
+
209
+ ## 四、发布清单(把"给其他人用"变成现实)
210
+
211
+ 仓库已指向 https://github.com/ZxyGch/WW3Tool(默认分支 `master`),并已发布
212
+ `v0.1.0` tag;Homebrew tap(`ZxyGch/homebrew-ww3tool`)的 formula 已指向该 tag
213
+ 并填入真实 `sha256`。**以后每次发版:**
214
+
215
+ 1. **打 tag 并推送**(tag 是稳定锚点,日常 push 不影响已发布的 formula):
216
+ ```bash
217
+ git tag v0.1.1 && git push origin v0.1.1
218
+ curl -sL https://github.com/ZxyGch/WW3Tool/archive/refs/tags/v0.1.1.tar.gz | shasum -a 256
219
+ ```
220
+ 2. **更新 tap 仓库** `ZxyGch/homebrew-ww3tool` 的 `ww3tool.rb`:
221
+ 把 `url` 换成新 tag、`sha256` 换成新值,推送。
222
+ 3. **发布到 PyPI**(让 `pip install ww3tool` 在**所有平台**可用):
223
+ ```bash
224
+ python3 -m pip install --upgrade build twine
225
+ python3 -m build # 生成 dist/ww3tool-<ver>.tar.gz + .whl
226
+ TWINE_USERNAME=__token__ TWINE_PASSWORD=<PyPI API token> \
227
+ python3 -m twine upload dist/*
228
+ ```
229
+ > PyPI API token:https://pypi.org/manage/account/token/(先注册账号并验证邮箱)。
230
+ > wheel 自包含运行资源(meshgen 瘦身子集 / public 子集 / params.yml),
231
+ > 安装后无需 `WW3TOOL_ROOT`。上传前先在干净 venv 验证:
232
+ > `python3 -m venv /tmp/t && /tmp/t/bin/pip install dist/ww3tool-*.whl && /tmp/t/bin/ww3tool --help`。
233
+
234
+ ---
235
+
236
+ ## 五、常见问题
237
+
238
+ - **`ww3tool` 提示 command not found**:确认安装目录在 PATH 中,
239
+ 或手动 `export PATH="$HOME/.local/bin:$PATH"`。
240
+ - **pip 安装后 `workdir` 报缺模板**:设置 `export WW3TOOL_ROOT=/path/to/WW3Tool`。
241
+ - **MCP 客户端连不上**:先跑冒烟测试确认 server 正常;再检查配置里的
242
+ `command` 是否为**绝对路径**且 `launch.sh` 有执行权限。
243
+ - **MCP 调用报 `Dependency check failed`**:项目 `.venv` 依赖不全,
244
+ 用 `python3 run.py --help` 触发一次自动安装即可。
245
+ - **`pip install .` 生成 build/、*.egg-info/**:构建产物,已加入 `.gitignore`。