wrfrun 0.1.5__tar.gz → 0.1.7__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 (108) hide show
  1. wrfrun-0.1.7/.gitattributes +5 -0
  2. {wrfrun-0.1.5 → wrfrun-0.1.7}/.gitignore +4 -0
  3. {wrfrun-0.1.5 → wrfrun-0.1.7}/PKG-INFO +22 -7
  4. {wrfrun-0.1.5 → wrfrun-0.1.7}/README.md +16 -2
  5. wrfrun-0.1.7/build.sh +5 -0
  6. {wrfrun-0.1.5 → wrfrun-0.1.7}/meson.build +2 -2
  7. {wrfrun-0.1.5 → wrfrun-0.1.7}/pyproject.toml +19 -5
  8. wrfrun-0.1.7/wrfrun/__init__.py +3 -0
  9. wrfrun-0.1.7/wrfrun/core/__init__.py +5 -0
  10. wrfrun-0.1.7/wrfrun/core/base.py +680 -0
  11. wrfrun-0.1.7/wrfrun/core/config.py +717 -0
  12. wrfrun-0.1.7/wrfrun/core/error.py +80 -0
  13. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/core/meson.build +3 -2
  14. wrfrun-0.1.7/wrfrun/core/replay.py +113 -0
  15. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/core/server.py +60 -35
  16. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/data.py +12 -7
  17. wrfrun-0.1.7/wrfrun/extension/goos_sst/README.md +10 -0
  18. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/extension/goos_sst/goos_sst.py +1 -1
  19. wrfrun-0.1.7/wrfrun/extension/littler/README.md +9 -0
  20. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/extension/littler/utils.py +153 -115
  21. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/extension/meson.build +0 -1
  22. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/extension/utils.py +8 -3
  23. wrfrun-0.1.7/wrfrun/model/__init__.py +7 -0
  24. wrfrun-0.1.7/wrfrun/model/base.py +14 -0
  25. wrfrun-0.1.7/wrfrun/model/meson.build +11 -0
  26. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/model/plot.py +12 -8
  27. wrfrun-0.1.7/wrfrun/model/utils.py +34 -0
  28. wrfrun-0.1.7/wrfrun/model/wrf/__init__.py +6 -0
  29. wrfrun-0.1.7/wrfrun/model/wrf/_metgrid.py +71 -0
  30. wrfrun-0.1.5/wrfrun/model/utils/ndown_utils.py → wrfrun-0.1.7/wrfrun/model/wrf/_ndown.py +4 -4
  31. wrfrun-0.1.7/wrfrun/model/wrf/core.py +805 -0
  32. wrfrun-0.1.7/wrfrun/model/wrf/exec_wrap.py +101 -0
  33. {wrfrun-0.1.5/wrfrun/model → wrfrun-0.1.7/wrfrun/model/wrf}/geodata.py +6 -6
  34. {wrfrun-0.1.5/wrfrun/model → wrfrun-0.1.7/wrfrun/model/wrf}/meson.build +6 -6
  35. {wrfrun-0.1.5/wrfrun/model → wrfrun-0.1.7/wrfrun/model/wrf}/namelist.py +93 -89
  36. wrfrun-0.1.7/wrfrun/model/wrf/scheme.py +311 -0
  37. wrfrun-0.1.7/wrfrun/model/wrf/vtable.py +65 -0
  38. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/pbs.py +5 -4
  39. wrfrun-0.1.7/wrfrun/res/README.md +72 -0
  40. wrfrun-0.1.7/wrfrun/res/__init__.py +22 -0
  41. wrfrun-0.1.7/wrfrun/res/config.toml.template +136 -0
  42. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/res/config.yaml.template +11 -9
  43. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/res/extension/meson.build +0 -1
  44. wrfrun-0.1.7/wrfrun/res/extension/name_map.json +6 -0
  45. wrfrun-0.1.7/wrfrun/res/generate_init.py +108 -0
  46. wrfrun-0.1.7/wrfrun/res/job_scheduler/meson.build +7 -0
  47. wrfrun-0.1.7/wrfrun/res/job_scheduler/name_map.json +10 -0
  48. wrfrun-0.1.7/wrfrun/res/job_scheduler/pbs.template +6 -0
  49. wrfrun-0.1.7/wrfrun/res/job_scheduler/slurm.template +6 -0
  50. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/res/meson.build +2 -4
  51. wrfrun-0.1.7/wrfrun/res/name_map.json +18 -0
  52. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/res/namelist/meson.build +0 -1
  53. wrfrun-0.1.7/wrfrun/res/namelist/name_map.json +22 -0
  54. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/res/namelist/namelist.input.real.template +1 -7
  55. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/res/namelist/namelist.input.wrf.template +0 -6
  56. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/res/namelist/namelist.wps.template +2 -2
  57. wrfrun-0.1.7/wrfrun/run.py +264 -0
  58. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/utils.py +58 -28
  59. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/workspace.py +19 -18
  60. wrfrun-0.1.5/.gitattributes +0 -3
  61. wrfrun-0.1.5/main.py +0 -25
  62. wrfrun-0.1.5/wrfrun/__init__.py +0 -9
  63. wrfrun-0.1.5/wrfrun/core/__init__.py +0 -4
  64. wrfrun-0.1.5/wrfrun/core/config.py +0 -135
  65. wrfrun-0.1.5/wrfrun/core/constant.py +0 -121
  66. wrfrun-0.1.5/wrfrun/core/namelist.py +0 -301
  67. wrfrun-0.1.5/wrfrun/model/__init__.py +0 -5
  68. wrfrun-0.1.5/wrfrun/model/core.py +0 -187
  69. wrfrun-0.1.5/wrfrun/model/run.py +0 -377
  70. wrfrun-0.1.5/wrfrun/model/scheme.py +0 -191
  71. wrfrun-0.1.5/wrfrun/model/utils/__init__.py +0 -5
  72. wrfrun-0.1.5/wrfrun/model/utils/core.py +0 -124
  73. wrfrun-0.1.5/wrfrun/model/utils/meson.build +0 -11
  74. wrfrun-0.1.5/wrfrun/model/utils/wps_utils.py +0 -168
  75. wrfrun-0.1.5/wrfrun/model/utils/wrf_utils.py +0 -66
  76. wrfrun-0.1.5/wrfrun/model/utils/wrfda_utils.py +0 -0
  77. wrfrun-0.1.5/wrfrun/res/__init__.py +0 -12
  78. wrfrun-0.1.5/wrfrun/res/extension/__init__.py +0 -9
  79. wrfrun-0.1.5/wrfrun/res/geogrid/GEOGRID.SHAN_DONG_LANDUSE_SOIL_TOP.TBL +0 -982
  80. wrfrun-0.1.5/wrfrun/res/geogrid/__init__.py +0 -8
  81. wrfrun-0.1.5/wrfrun/res/geogrid/meson.build +0 -7
  82. wrfrun-0.1.5/wrfrun/res/metgrid/METGRID.TBL +0 -1150
  83. wrfrun-0.1.5/wrfrun/res/metgrid/__init__.py +0 -8
  84. wrfrun-0.1.5/wrfrun/res/metgrid/meson.build +0 -7
  85. wrfrun-0.1.5/wrfrun/res/namelist/__init__.py +0 -16
  86. wrfrun-0.1.5/wrfrun/res/ungrib/__init__.py +0 -7
  87. wrfrun-0.1.5/wrfrun/res/ungrib/meson.build +0 -6
  88. wrfrun-0.1.5/wrfrun/run.py +0 -185
  89. {wrfrun-0.1.5 → wrfrun-0.1.7}/LICENSE +0 -0
  90. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/extension/__init__.py +0 -0
  91. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/extension/goos_sst/__init__.py +0 -0
  92. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/extension/goos_sst/meson.build +0 -0
  93. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/extension/goos_sst/res/Vtable.ERA_GOOS_SST +0 -0
  94. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/extension/goos_sst/res/__init__.py +0 -0
  95. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/extension/goos_sst/res/meson.build +0 -0
  96. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/extension/goos_sst/utils.py +0 -0
  97. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/extension/littler/__init__.py +0 -0
  98. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/extension/littler/meson.build +0 -0
  99. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/extension/micaps/README.md +0 -0
  100. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/meson.build +0 -0
  101. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/plot/__init__.py +0 -0
  102. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/plot/meson.build +0 -0
  103. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/plot/wps.py +0 -0
  104. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/res/extension/plotgrids.ncl +0 -0
  105. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/res/namelist/namelist.input.da_wrfvar.template +0 -0
  106. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/res/namelist/namelist.input.dfi.template +0 -0
  107. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/res/namelist/parame.in.template +0 -0
  108. {wrfrun-0.1.5 → wrfrun-0.1.7}/wrfrun/res/run.sh.template +0 -0
@@ -0,0 +1,5 @@
1
+ .gitea/ export-ignore
2
+ .github/ export-ignore
3
+ images/ export-ignore
4
+ .readthedocs.yaml export-ignore
5
+ docs export-ignore
@@ -9,6 +9,7 @@ dist/
9
9
  wrfrun.egg-info/
10
10
  .idea/
11
11
  data/
12
+ docs/build
12
13
 
13
14
  **/*.1
14
15
  **/*.input_step1
@@ -17,3 +18,6 @@ data/
17
18
  **/*.so
18
19
  test.*
19
20
  config.yaml
21
+ main.py
22
+ .python-version
23
+ uv.lock
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wrfrun
3
- Version: 0.1.5
3
+ Version: 0.1.7
4
4
  Summary: wrfrun is a comprehensive toolkit for managing and using WRF
5
5
  Keywords: WRF
6
6
  Author-Email: Syize <syizeliu@gmail.com>
@@ -8,21 +8,22 @@ Maintainer-Email: Syize <syizeliu@gmail.com>
8
8
  License: GPL-3.0-or-later
9
9
  Project-URL: homepage, https://github.com/Syize/wrfrun
10
10
  Project-URL: repository, https://github.com/Syize/wrfrun
11
- Project-URL: documentation, https://github.com/Syize/wrfrun/wiki
11
+ Project-URL: documentation, https://wrfrun.syize.cn
12
12
  Project-URL: Bug Tracker, https://github.com/Syize/wrfrun/issues
13
- Requires-Python: >=3.10
13
+ Requires-Python: <3.13
14
+ Requires-Dist: numpy<2.0.0
14
15
  Requires-Dist: xarray
15
16
  Requires-Dist: netCDF4
16
17
  Requires-Dist: rich
17
- Requires-Dist: PyYAML
18
18
  Requires-Dist: pandas
19
19
  Requires-Dist: f90nml
20
20
  Requires-Dist: cdsapi
21
- Requires-Dist: seafog
22
21
  Requires-Dist: matplotlib
23
22
  Requires-Dist: Cartopy
24
23
  Requires-Dist: wrf-python
25
24
  Requires-Dist: cfgrib
25
+ Requires-Dist: tomli
26
+ Requires-Dist: tomli-w
26
27
  Description-Content-Type: text/markdown
27
28
 
28
29
  # wrfrun: A toolkit to control WRF
@@ -43,10 +44,24 @@ The following are the main features that wrfrun wants to achieve. These features
43
44
  - Real-time parsing of WRF logs, feedback on simulation progress.
44
45
  - Support for adding more functionality through extensions.
45
46
 
46
- ## Install
47
+ ## Dependencies
48
+
49
+ You need to install `meson` and `ninja` at first, both of which can be installed using `pip`:
50
+
51
+ ```bash
52
+ pip install meson ninja
53
+ ```
54
+
55
+ Make sure the path `$HOME/.local/bin` has been added to your environment variable `PATH`.
56
+
57
+ ## Installation
47
58
 
48
59
  Install using pip:
49
60
 
50
61
  ```bash
51
62
  pip install wrfrun
52
- ```
63
+ ```
64
+
65
+ ## Documentation
66
+
67
+ Please check [Wiki](https://wrfrun.syize.cn).
@@ -16,10 +16,24 @@ The following are the main features that wrfrun wants to achieve. These features
16
16
  - Real-time parsing of WRF logs, feedback on simulation progress.
17
17
  - Support for adding more functionality through extensions.
18
18
 
19
- ## Install
19
+ ## Dependencies
20
+
21
+ You need to install `meson` and `ninja` at first, both of which can be installed using `pip`:
22
+
23
+ ```bash
24
+ pip install meson ninja
25
+ ```
26
+
27
+ Make sure the path `$HOME/.local/bin` has been added to your environment variable `PATH`.
28
+
29
+ ## Installation
20
30
 
21
31
  Install using pip:
22
32
 
23
33
  ```bash
24
34
  pip install wrfrun
25
- ```
35
+ ```
36
+
37
+ ## Documentation
38
+
39
+ Please check [Wiki](https://wrfrun.syize.cn).
wrfrun-0.1.7/build.sh ADDED
@@ -0,0 +1,5 @@
1
+ #!/bin/bash
2
+
3
+ python wrfrun/res/generate_init.py -o wrfrun/res/__init__.py
4
+
5
+ python -m build -s
@@ -1,12 +1,12 @@
1
1
  project(
2
2
  'wrfrun',
3
3
  'c',
4
- version: '0.1.5',
4
+ version: '0.1.7',
5
5
  license: 'BSD-3',
6
6
  meson_version: '>=0.64.0',
7
7
  default_options: ['warning_level=2'],
8
8
  )
9
9
 
10
- py3 = import('python').find_installation(pure: false)
10
+ py3 = import('python').find_installation(pure: true)
11
11
 
12
12
  subdir('wrfrun')
@@ -1,25 +1,39 @@
1
1
  [build-system]
2
2
  build-backend = "mesonpy"
3
- requires = ["meson-python", "numpy<2.0.0"]
3
+ requires = ["meson-python"]
4
4
 
5
5
  [project]
6
6
  name = "wrfrun"
7
- version = "0.1.5"
7
+ version = "0.1.7"
8
8
  readme = "README.md"
9
9
  license = { text = "GPL-3.0-or-later" }
10
- requires-python = '>=3.10'
10
+ requires-python = '<3.13'
11
11
  authors = [{name = "Syize", email = "syizeliu@gmail.com"}]
12
12
  maintainers = [
13
13
  { name = "Syize", email = "syizeliu@gmail.com" },
14
14
  ]
15
15
  keywords = [ "WRF", ]
16
16
  description = "wrfrun is a comprehensive toolkit for managing and using WRF"
17
- dependencies = ["xarray", "netCDF4", "rich", "PyYAML", "pandas", "f90nml", "cdsapi", "seafog", "matplotlib", "Cartopy", "wrf-python", "cfgrib"]
17
+ dependencies = [
18
+ "numpy<2.0.0",
19
+ "xarray",
20
+ "netCDF4",
21
+ "rich",
22
+ "pandas",
23
+ "f90nml",
24
+ "cdsapi",
25
+ "matplotlib",
26
+ "Cartopy",
27
+ "wrf-python",
28
+ "cfgrib",
29
+ "tomli",
30
+ "tomli-w"
31
+ ]
18
32
 
19
33
  [project.urls]
20
34
  homepage = "https://github.com/Syize/wrfrun"
21
35
  repository = "https://github.com/Syize/wrfrun"
22
- documentation = "https://github.com/Syize/wrfrun/wiki"
36
+ documentation = "https://wrfrun.syize.cn"
23
37
  "Bug Tracker" = "https://github.com/Syize/wrfrun/issues"
24
38
 
25
39
  [tool.poetry]
@@ -0,0 +1,3 @@
1
+ from .core import *
2
+ from .run import *
3
+ from .res import *
@@ -0,0 +1,5 @@
1
+ from .base import *
2
+ from .config import *
3
+ from .error import *
4
+ from .replay import *
5
+ from .server import *