wrfrun 0.2.0__py3-none-any.whl → 0.3.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. wrfrun/__init__.py +8 -3
  2. wrfrun/cli.py +69 -29
  3. wrfrun/core/__init__.py +27 -10
  4. wrfrun/core/_config.py +308 -0
  5. wrfrun/core/_constant.py +236 -0
  6. wrfrun/core/_exec_db.py +105 -0
  7. wrfrun/core/_namelist.py +287 -0
  8. wrfrun/core/_record.py +178 -0
  9. wrfrun/core/_resource.py +172 -0
  10. wrfrun/core/base.py +132 -406
  11. wrfrun/core/core.py +196 -0
  12. wrfrun/core/error.py +28 -2
  13. wrfrun/core/replay.py +10 -96
  14. wrfrun/core/server.py +52 -27
  15. wrfrun/core/type.py +171 -0
  16. wrfrun/data.py +304 -139
  17. wrfrun/extension/goos_sst/__init__.py +2 -2
  18. wrfrun/extension/goos_sst/core.py +9 -14
  19. wrfrun/extension/goos_sst/res/__init__.py +0 -1
  20. wrfrun/extension/goos_sst/utils.py +50 -44
  21. wrfrun/extension/littler/core.py +105 -88
  22. wrfrun/extension/utils.py +4 -3
  23. wrfrun/log.py +117 -0
  24. wrfrun/model/__init__.py +11 -7
  25. wrfrun/model/constants.py +52 -0
  26. wrfrun/model/palm/__init__.py +30 -0
  27. wrfrun/model/palm/core.py +145 -0
  28. wrfrun/model/palm/namelist.py +33 -0
  29. wrfrun/model/plot.py +99 -119
  30. wrfrun/model/type.py +116 -0
  31. wrfrun/model/utils.py +9 -20
  32. wrfrun/model/wrf/__init__.py +4 -9
  33. wrfrun/model/wrf/core.py +246 -161
  34. wrfrun/model/wrf/exec_wrap.py +13 -12
  35. wrfrun/model/wrf/geodata.py +116 -100
  36. wrfrun/model/wrf/log.py +103 -0
  37. wrfrun/model/wrf/namelist.py +90 -73
  38. wrfrun/model/wrf/plot.py +102 -0
  39. wrfrun/model/wrf/scheme.py +108 -52
  40. wrfrun/model/wrf/utils.py +39 -25
  41. wrfrun/model/wrf/vtable.py +35 -3
  42. wrfrun/plot/__init__.py +20 -0
  43. wrfrun/plot/wps.py +90 -73
  44. wrfrun/res/__init__.py +103 -5
  45. wrfrun/res/config/config.template.toml +8 -0
  46. wrfrun/res/config/palm.template.toml +23 -0
  47. wrfrun/run.py +105 -77
  48. wrfrun/scheduler/__init__.py +1 -0
  49. wrfrun/scheduler/lsf.py +3 -2
  50. wrfrun/scheduler/pbs.py +3 -2
  51. wrfrun/scheduler/script.py +17 -5
  52. wrfrun/scheduler/slurm.py +3 -2
  53. wrfrun/scheduler/utils.py +14 -2
  54. wrfrun/utils.py +88 -199
  55. wrfrun/workspace/__init__.py +8 -5
  56. wrfrun/workspace/core.py +20 -12
  57. wrfrun/workspace/palm.py +137 -0
  58. wrfrun/workspace/wrf.py +16 -15
  59. wrfrun-0.3.0.dist-info/METADATA +240 -0
  60. wrfrun-0.3.0.dist-info/RECORD +78 -0
  61. wrfrun/core/config.py +0 -923
  62. wrfrun/model/base.py +0 -14
  63. wrfrun-0.2.0.dist-info/METADATA +0 -68
  64. wrfrun-0.2.0.dist-info/RECORD +0 -62
  65. {wrfrun-0.2.0.dist-info → wrfrun-0.3.0.dist-info}/WHEEL +0 -0
  66. {wrfrun-0.2.0.dist-info → wrfrun-0.3.0.dist-info}/entry_points.txt +0 -0
wrfrun/model/base.py DELETED
@@ -1,14 +0,0 @@
1
- from dataclasses import dataclass
2
-
3
-
4
- @dataclass
5
- class NamelistName:
6
- """
7
- Namelist file names.
8
- """
9
- WPS = "namelist.wps"
10
- WRF = "namelist.input"
11
- WRFDA = "namelist.input"
12
-
13
-
14
- __all__ = ["NamelistName"]
@@ -1,68 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: wrfrun
3
- Version: 0.2.0
4
- Summary: wrfrun is a comprehensive toolkit for managing and using WRF
5
- Keywords: WRF
6
- Author-Email: Syize <syizeliu@gmail.com>
7
- Maintainer-Email: Syize <syizeliu@gmail.com>
8
- License: GPL-3.0-or-later
9
- Project-URL: homepage, https://github.com/Syize/wrfrun
10
- Project-URL: repository, https://github.com/Syize/wrfrun
11
- Project-URL: documentation, https://wrfrun.syize.cn
12
- Project-URL: Bug Tracker, https://github.com/Syize/wrfrun/issues
13
- Requires-Python: >=3.10
14
- Requires-Dist: numpy
15
- Requires-Dist: xarray
16
- Requires-Dist: netCDF4
17
- Requires-Dist: rich
18
- Requires-Dist: pandas
19
- Requires-Dist: f90nml
20
- Requires-Dist: cdsapi
21
- Requires-Dist: matplotlib
22
- Requires-Dist: Cartopy
23
- Requires-Dist: wrf-python
24
- Requires-Dist: cfgrib
25
- Requires-Dist: tomli
26
- Requires-Dist: tomli-w
27
- Requires-Dist: haversine
28
- Description-Content-Type: text/markdown
29
-
30
- # wrfrun: A toolkit to control WRF
31
-
32
- ## What is wrfrun?
33
-
34
- Using and managing WRF can be a tedious task. WRF's configuration file contains a large number of settings, which generally need to be configured separately for each simulation case, and the user usually needs to rely on other tools or scripts to manage the simulation of different cases, which causes a lot of inconvenience. In addition, the whole process of running the WRF model involves running many programs, which is very time-consuming to run manually and requires the use of scripts to automate certain processes.
35
-
36
- `wrfrun` is a comprehensive toolkit for managing and using WRF. `wrfrun` wraps the WRF model so that the user only needs to call the corresponding Python function to run the corresponding part of the model. `wrfrun` avoids cluttering up the user's working directory with a lot of useless files by creating a temporary directory in which the WRF model would be run. `wrfrun` automatically saves mode configurations and wrfrun configurations, which makes it easier to manage the simulation and reproduction of different cases. `wrfrun` also provides more features through extensions, which help users to do related research better.
37
-
38
- ## Main Features
39
-
40
- The following are the main features that wrfrun wants to achieve. These features have been basically realized, and are still under continuous improvement.
41
-
42
- - Isolate the WRF runtime directory in a separate temporary directory.
43
- - Automatic saving of mode output, logs and configurations.
44
- - Provide an interface to run any part of the WRF model.
45
- - Real-time parsing of WRF logs, feedback on simulation progress.
46
- - Support for adding more functionality through extensions.
47
-
48
- ## Dependencies
49
-
50
- You need to install `meson` and `ninja` at first, both of which can be installed using `pip`:
51
-
52
- ```bash
53
- pip install meson ninja
54
- ```
55
-
56
- Make sure the path `$HOME/.local/bin` has been added to your environment variable `PATH`.
57
-
58
- ## Installation
59
-
60
- Install using pip:
61
-
62
- ```bash
63
- pip install wrfrun
64
- ```
65
-
66
- ## Documentation
67
-
68
- Please check [Wiki](https://wrfrun.syize.cn).
@@ -1,62 +0,0 @@
1
- wrfrun-0.2.0.dist-info/METADATA,sha256=v05u5wToeTsctm_vmFeK8z1I29iWTjauvJmbTOkZ9lI,2932
2
- wrfrun-0.2.0.dist-info/WHEEL,sha256=5J4neoE7k6LMgx4Fz1FHgBiO3YevhJGtNQ3muDrdLQM,75
3
- wrfrun-0.2.0.dist-info/entry_points.txt,sha256=G3358n6wW1qZF3hSH9umxrWHJewN-6N1BUloacN2tks,50
4
- wrfrun/__init__.py,sha256=l2zGk2qDWa3EXIlwvzqBYZHOU9273TN75Rmvx_7PAYM,58
5
- wrfrun/cli.py,sha256=3N4QCKfBQ9pKV7MP0fEN9BygEOiUJVMTqW47cl1ZpHY,4347
6
- wrfrun/data.py,sha256=NqpxZ_qDGodJdgdqVUKtJwbyZo0DG7l3_vTZ-2Unbgw,14817
7
- wrfrun/run.py,sha256=WgTaFRRAEZ83SKzPkrOyXtxlea3DUtU-5zR6zS0dS_c,9458
8
- wrfrun/utils.py,sha256=BdGP5u2Y2e3tqU0dawfHsTeqZ0q4Ic4MCGR8RU4FJ90,8388
9
- wrfrun/core/__init__.py,sha256=zsitfcmbO_Qf_Uh0FzZ4rceZAo3WEYev32jSjgRjtkw,1325
10
- wrfrun/core/base.py,sha256=1aqZIiYuVEYWTGOUKnrFZUb9ihM2H6TVaUOOQ4AfwHQ,31414
11
- wrfrun/core/config.py,sha256=sW4g9ovy1I31g4dHnzKQdk7h3TQhjbqfys5ngPOKCvs,32834
12
- wrfrun/core/error.py,sha256=mrwwgvxMH0v4GL0GEG7JjMxDV1S3D_KiRmKTTCZfCBc,2523
13
- wrfrun/core/replay.py,sha256=jZWN68IgUroxuCzg7EO0FXxe2zwokxJnquu4t81hp7Y,4782
14
- wrfrun/core/server.py,sha256=CDU6VmWwFg1BVlA1plCagG7fDWUev19T9Q3pJ_WDf1s,8936
15
- wrfrun/extension/__init__.py,sha256=YDYCS0KD3e-uLvf1K08ktNfP2sUSKpbgkHrvXj21EPQ,913
16
- wrfrun/extension/utils.py,sha256=xf3WquF8w7J-vYfgkTFOhVVrEEuO3oRgMoNaRVhec9k,2501
17
- wrfrun/extension/goos_sst/__init__.py,sha256=QsVheVVL5K0_k-eg8-xe2MLAJ845iivXzGHbp2qARh4,2101
18
- wrfrun/extension/goos_sst/core.py,sha256=_s53vq0nAwnwWxExD8-73p5seCWLO1XVzRh5T8JofAw,3870
19
- wrfrun/extension/goos_sst/utils.py,sha256=bomXbhpOuNOYm2rL1SiOeSxVbSaKWfVxX51KoODgBn0,3469
20
- wrfrun/extension/goos_sst/res/__init__.py,sha256=-Ey6iFHzQYZNOGhVrSkMjOwiXVgt3P6eaumq7pOmh_E,511
21
- wrfrun/extension/goos_sst/res/Vtable.ERA_GOOS_SST,sha256=UfbzWKEE2pnQO4Q2mkMmkl7pv_bDSxVGaN2jEYfMVzE,534
22
- wrfrun/extension/littler/__init__.py,sha256=bLiGIpB_FpTyio44CjIzwwcahyFWxGW-gECfBOIG9Y8,2032
23
- wrfrun/extension/littler/core.py,sha256=fS4F0RNs36VL3ej-9WsAn-n8C8nJb29XOQvVYpLaeOM,34192
24
- wrfrun/model/__init__.py,sha256=PYA6ZUwL4u3heRIMX_qkLvAA6jDrY4kugD8rCvnl-2Y,803
25
- wrfrun/model/base.py,sha256=WnVNu12ICJgThfZR7kK6_XLCQWVYFsHrdyAz8wl_YRc,218
26
- wrfrun/model/plot.py,sha256=2owjhCxRKpQDbaJ4zCpCcvUdMx-6rkYhqrTaHmIVrwg,10588
27
- wrfrun/model/utils.py,sha256=IZOd_yTPnxgPMBBROrhDS_WYdnUW6egEEooo4skSkEE,1263
28
- wrfrun/model/wrf/__init__.py,sha256=KJij1JMTcj3i5e2LcJJJudA99LrsJIVHeMj9ktT9Y_4,1752
29
- wrfrun/model/wrf/core.py,sha256=Dhab9jbMRhq5FNYp2yOPBF3ZbZjzo7wa7pLFRisokLs,36335
30
- wrfrun/model/wrf/exec_wrap.py,sha256=REOtNLCc6IcM2yaaSXoXGgXFA-xjMHmoTiA9B3ZezEA,4418
31
- wrfrun/model/wrf/geodata.py,sha256=2-B7hkMfB-MmSy3mMHbKqTYAlpcmSNVp26XW_VkPWu4,9784
32
- wrfrun/model/wrf/namelist.py,sha256=CSOjoKKzniZ1wJVNL8jfBBVufmDUFwT0ZEoTsLZkGuc,16930
33
- wrfrun/model/wrf/scheme.py,sha256=8y85Dbu-GajwjHr3Spw8_tN21xAloD-SnmxJd11nXKE,11254
34
- wrfrun/model/wrf/utils.py,sha256=FsLy6Hah58aMbQlR-z3W72lhHXAdhBbQzu58y2dmHOw,3760
35
- wrfrun/model/wrf/vtable.py,sha256=6FtbdEugJrN0_Ta4LqtoHyYzu6bbFxDFvuqkrW51DCw,2620
36
- wrfrun/plot/__init__.py,sha256=9Kn0IgkX10sHEqHJwk7mZV-dP14XMNcvXN8znO89FIw,19
37
- wrfrun/plot/wps.py,sha256=pvkxbh5760AAM4KaPteMzhFniZZFtkYF31xhzSBa7lo,5552
38
- wrfrun/res/__init__.py,sha256=18wHJhgDd0hwITHe79xBNwgM4A3yEUJOz2ubcYKeBZI,1669
39
- wrfrun/res/run.template.sh,sha256=k-r4lOOarscmSdiBXGHPnv3oeiRe-qW-VhOBia27ZGU,101
40
- wrfrun/res/config/config.template.toml,sha256=BTDGDm8aXqXbZM-gpXdGXNZEFFIWmeXd5pLdasWuT38,1593
41
- wrfrun/res/config/wrf.template.toml,sha256=qQS3OHAXBMaKWgj2qT7jLeDu6tyngPgin7Q-XcE3ZkQ,3189
42
- wrfrun/res/extension/plotgrids.ncl,sha256=B0mvH1H1j_w7EEana9HmU1XJZtG0w9IccQ54zXpbQG0,7546
43
- wrfrun/res/namelist/namelist.input.da_wrfvar.template,sha256=Cwc-XPu_spJeQte4duWrulPBOLRMEBtn0mIn0pgMmKY,4912
44
- wrfrun/res/namelist/namelist.input.dfi.template,sha256=E7MVbIvMopkAM7xGUC4vniC1WOUVbIbdLfkTKHqzX_o,6591
45
- wrfrun/res/namelist/namelist.input.real.template,sha256=DDUiArtBFmzBwVjkZW4NOrBR34eIOk1vV0VsyL0stsk,6214
46
- wrfrun/res/namelist/namelist.input.wrf.template,sha256=myrKi79sQ8ABBsmQJkcgN0WLbWJdtMVPIjuAC1MTMuM,6213
47
- wrfrun/res/namelist/namelist.wps.template,sha256=HlA7-SHs4C-cKRb3h6D0Kl1Y-5VSJ1Lw9hLiXWGAN0Q,1017
48
- wrfrun/res/namelist/parame.in.template,sha256=vR8JSix20FAKGqj6jK8QuEAeWkGvg8_iptdVlzjPX6o,259
49
- wrfrun/res/scheduler/lsf.template,sha256=KorLfqTFTqTTctDE9Edgkixi7JLWrcDNRpZknXuxbEQ,111
50
- wrfrun/res/scheduler/pbs.template,sha256=kP4pGMAq2uz0OZUAWii7dO4ECLC924c8SnciFeBL5QY,155
51
- wrfrun/res/scheduler/slurm.template,sha256=sQNjkKzOftipDD4kYmzhZkh8fg0M9uaQsdLjDakCVwA,336
52
- wrfrun/scheduler/__init__.py,sha256=pOqnCAl2-_yC7zPS2VQL5RMltQN4zc0koYS_MESKtHo,1130
53
- wrfrun/scheduler/env.py,sha256=N_K5yZFRXMEXvW3yjSideEDPWZzoWpbRhFS9LJoZ3R8,1262
54
- wrfrun/scheduler/lsf.py,sha256=ajpYnWWryEMMguEBz5H0CONaJmM7AhDV8SOwD1DKkdI,1203
55
- wrfrun/scheduler/pbs.py,sha256=A0nAOsgU8xzrPZZYrmQI00wUj5P8E_QY_LhDKFvua-Q,1219
56
- wrfrun/scheduler/script.py,sha256=DdTAGK3gWFuD_3jbQb9cfXI6q0pW3Z_YW6EgWh7I3rU,2448
57
- wrfrun/scheduler/slurm.py,sha256=SedEq8zV-bfCwWw28UOWJ6qMmP0TkTjJZ9HlMC7gYf0,1241
58
- wrfrun/scheduler/utils.py,sha256=iIH2abTptzyw7KYmQYYAwCqzfvfZ6FinTNq33e06zvw,223
59
- wrfrun/workspace/__init__.py,sha256=e7ijFWaYRMmBbso0pXnsAc0oUnkQ3t3UguhY3a0U6Qk,1456
60
- wrfrun/workspace/core.py,sha256=R-jp5Le_MAZ7I9abImqK3zyGbFG_8wPVQ632hzeIg2k,2705
61
- wrfrun/workspace/wrf.py,sha256=prZEdJwyMPguLsafNT9v4vNcq2R_I7WuJsKsvq_NE-4,5140
62
- wrfrun-0.2.0.dist-info/RECORD,,
File without changes