paddle 1.2.0__tar.gz → 1.2.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 (56) hide show
  1. {paddle-1.2.0 → paddle-1.2.1}/.bumpversion.cfg +1 -1
  2. {paddle-1.2.0 → paddle-1.2.1}/.gitignore +3 -0
  3. {paddle-1.2.0 → paddle-1.2.1}/PKG-INFO +2 -2
  4. paddle-1.2.1/example_py_scripts/jupiter_crm.yaml +198 -0
  5. paddle-1.2.1/example_py_scripts/jupiter_crm_dry.yaml +92 -0
  6. paddle-1.2.1/example_py_scripts/jupiter_gcm.yaml +195 -0
  7. paddle-1.2.1/example_py_scripts/jupiter_gcm_dry.yaml +89 -0
  8. {paddle-1.2.0 → paddle-1.2.1}/example_py_scripts/robert.py +6 -7
  9. {paddle-1.2.0 → paddle-1.2.1}/example_py_scripts/robert.yaml +3 -1
  10. paddle-1.2.1/example_py_scripts/run_hydro.py +101 -0
  11. {paddle-1.2.0 → paddle-1.2.1}/example_py_scripts/saturn1d.yaml +1 -1
  12. paddle-1.2.1/example_py_scripts/shallow_splash.py +79 -0
  13. paddle-1.2.1/example_py_scripts/shallow_splash.yaml +61 -0
  14. paddle-1.2.1/example_py_scripts/shallow_yz.py +69 -0
  15. paddle-1.2.1/example_py_scripts/shallow_yz.yaml +49 -0
  16. {paddle-1.2.0 → paddle-1.2.1}/example_py_scripts/straka.py +4 -9
  17. {paddle-1.2.0 → paddle-1.2.1}/example_py_scripts/straka.yaml +5 -12
  18. {paddle-1.2.0 → paddle-1.2.1}/example_py_scripts/test_saturn_adiabat.py +9 -15
  19. {paddle-1.2.0 → paddle-1.2.1}/paddle/__init__.py +1 -1
  20. paddle-1.2.1/paddle/cubed_sphere_ui.py +63 -0
  21. paddle-1.2.1/paddle/cubed_sphere_utils.py +356 -0
  22. {paddle-1.2.0 → paddle-1.2.1}/paddle/evolve_kinetics.py +24 -8
  23. {paddle-1.2.0 → paddle-1.2.1}/paddle/find_init_params.py +1 -1
  24. paddle-1.2.1/paddle/plot_cubed_sphere_panel.py +21 -0
  25. {paddle-1.2.0 → paddle-1.2.1}/paddle/setup_profile.py +17 -12
  26. {paddle-1.2.0 → paddle-1.2.1}/paddle/write_profile.py +3 -3
  27. {paddle-1.2.0 → paddle-1.2.1}/pyproject.toml +2 -2
  28. {paddle-1.2.0 → paddle-1.2.1}/.github/workflows/cd.yml +0 -0
  29. {paddle-1.2.0 → paddle-1.2.1}/.github/workflows/ci.yml +0 -0
  30. {paddle-1.2.0 → paddle-1.2.1}/.pre-commit-config.yaml +0 -0
  31. {paddle-1.2.0 → paddle-1.2.1}/LICENSE +0 -0
  32. {paddle-1.2.0 → paddle-1.2.1}/Makefile +0 -0
  33. {paddle-1.2.0 → paddle-1.2.1}/README.md +0 -0
  34. {paddle-1.2.0 → paddle-1.2.1}/docker/.dockerignore +0 -0
  35. {paddle-1.2.0 → paddle-1.2.1}/docker/Dockerfile +0 -0
  36. {paddle-1.2.0 → paddle-1.2.1}/docker/Dockerfile.cuda +0 -0
  37. {paddle-1.2.0 → paddle-1.2.1}/docker/entrypoint.sh +0 -0
  38. {paddle-1.2.0 → paddle-1.2.1}/docker/nvim/init.lua +0 -0
  39. {paddle-1.2.0 → paddle-1.2.1}/docker/nvim/lua/plugins.lua +0 -0
  40. {paddle-1.2.0 → paddle-1.2.1}/docker/requirements.txt +0 -0
  41. {paddle-1.2.0 → paddle-1.2.1}/docker/scripts/git-done +0 -0
  42. {paddle-1.2.0 → paddle-1.2.1}/docker/scripts/git-send +0 -0
  43. {paddle-1.2.0 → paddle-1.2.1}/docker-compose.override.yaml.tmp +0 -0
  44. {paddle-1.2.0 → paddle-1.2.1}/docker-compose.yaml +0 -0
  45. {paddle-1.2.0 → paddle-1.2.1}/docs/_static/readme-attach.png +0 -0
  46. {paddle-1.2.0 → paddle-1.2.1}/docs/_static/readme-extension.png +0 -0
  47. {paddle-1.2.0 → paddle-1.2.1}/docs/_static/readme-open-folder.png +0 -0
  48. {paddle-1.2.0 → paddle-1.2.1}/docs/_static/temp_paddle.jpg +0 -0
  49. {paddle-1.2.0 → paddle-1.2.1}/docs/content/notebooks/Tutorial-1-SaturnAdiabat.ipynb +0 -0
  50. {paddle-1.2.0 → paddle-1.2.1}/example_py_scripts/.gitignore +0 -0
  51. {paddle-1.2.0 → paddle-1.2.1}/example_py_scripts/shock.py +0 -0
  52. {paddle-1.2.0 → paddle-1.2.1}/example_py_scripts/shock.yaml +0 -0
  53. {paddle-1.2.0 → paddle-1.2.1}/paddle/crm.py +0 -0
  54. {paddle-1.2.0 → paddle-1.2.1}/paddle/example_save.py +0 -0
  55. {paddle-1.2.0 → paddle-1.2.1}/paddle/nc2pt.py +0 -0
  56. {paddle-1.2.0 → paddle-1.2.1}/paddle/pt2nc.py +0 -0
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 1.2.0
2
+ current_version = 1.2.1
3
3
  commit = True
4
4
  tag = True
5
5
 
@@ -218,3 +218,6 @@ docker-compose.override.yaml
218
218
  # python environment
219
219
  .env
220
220
  .pyenv
221
+
222
+ # pt file
223
+ *.pt
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: paddle
3
- Version: 1.2.0
3
+ Version: 1.2.1
4
4
  Summary: Python Atmospheric Dynamics: Discovery and Learning about Exoplanets. An open-source, user-friendly python frontend of canoe
5
5
  Project-URL: Homepage, https://github.com/elijah-mullens/paddle
6
6
  Project-URL: Repository, https://github.com/elijah-mullens/paddle
@@ -23,7 +23,7 @@ Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
23
23
  Classifier: Topic :: Scientific/Engineering :: Physics
24
24
  Requires-Python: >=3.9
25
25
  Requires-Dist: scipy
26
- Requires-Dist: snapy>=1.0.3
26
+ Requires-Dist: snapy>=1.1.5
27
27
  Requires-Dist: torch<=2.7.1,>=2.7.0
28
28
  Provides-Extra: dev
29
29
  Requires-Dist: pytest>=7; extra == 'dev'
@@ -0,0 +1,198 @@
1
+ reference-state:
2
+ Tref: 0.
3
+ Pref: 1.e5
4
+
5
+ species:
6
+ - name: dry
7
+ composition: {H: 1.5, He: 0.15}
8
+ cv_R: 2.5
9
+
10
+ - name: H2O
11
+ composition: {H: 2, O: 1}
12
+ cv_R: 2.5
13
+ u0_R: 0.
14
+
15
+ - name: NH3
16
+ composition: {H: 2, O: 1}
17
+ cv_R: 2.5
18
+ u0_R: 0.
19
+
20
+ - name: H2S
21
+ composition: {H: 2, S: 1}
22
+ cv_R: 2.5
23
+ u0_R: 0.
24
+
25
+ - name: H2O(l)
26
+ composition: {H: 2, O: 1}
27
+ cv_R: 9.0
28
+ u0_R: -3430.
29
+
30
+ - name: H2O(l,p)
31
+ composition: {H: 2, O: 1}
32
+ cv_R: 9.0
33
+ u0_R: -3430.
34
+
35
+ - name: NH3(s)
36
+ composition: {N: 1, H: 3}
37
+ cv_R: 9.0
38
+ u0_R: -5520.
39
+
40
+ - name: NH3(s,p)
41
+ composition: {N: 1, H: 3}
42
+ cv_R: 9.0
43
+ u0_R: -5520.
44
+
45
+ - name: NH4SH(s)
46
+ composition: {N: 1, H: 5, S: 1}
47
+ cv_R: 9.0
48
+ u0_R: -1.2e4
49
+
50
+ - name: NH4SH(s,p)
51
+ composition: {N: 1, H: 5, S: 1}
52
+ cv_R: 9.0
53
+ u0_R: -1.2e4
54
+
55
+ geometry:
56
+ type: cartesian
57
+
58
+ bounds:
59
+ x1min: 0.
60
+ x1max: 300.e3
61
+ x2min: 0.
62
+ x2max: 2400.e3
63
+ x3min: 0.
64
+ x3max: 2400.e3
65
+
66
+ cells:
67
+ nx1: 100
68
+ nx2: 100
69
+ nx3: 100
70
+ nghost: 3
71
+
72
+ distribute:
73
+ backend: gloo
74
+ layout: slab
75
+ nb2: 2
76
+ nb3: 2
77
+ verbose: false
78
+
79
+ dynamics:
80
+ equation-of-state:
81
+ type: ideal-moist
82
+ density-floor: 1.e-10
83
+ pressure-floor: 1.e-10
84
+ tracer-floor: 1.e-10
85
+ limiter: true
86
+ max-iter: 20
87
+ ftol: 1.e-6
88
+
89
+ vertical-projection:
90
+ type: temperature
91
+ pressure-margin: 1.e-6
92
+
93
+ reconstruct:
94
+ vertical: {type: weno5, scale: true, shock: true}
95
+ horizontal: {type: weno5, scale: true, shock: true}
96
+
97
+ riemann-solver:
98
+ type: hllc
99
+
100
+ boundary-condition:
101
+ external:
102
+ x1-inner: reflecting
103
+ x1-outer: reflecting
104
+ x2-inner: reflecting
105
+ x2-outer: reflecting
106
+ x3-inner: reflecting
107
+ x3-outer: reflecting
108
+
109
+ integration:
110
+ type: rk3
111
+ cfl: 0.45
112
+ implicit-scheme: 1
113
+ nlim: -1
114
+ tlim: 100.e5
115
+ ncycle_out: 1
116
+
117
+ outputs:
118
+ - type: restart
119
+ dt: 1.E5
120
+ - type: netcdf
121
+ variables: [prim, uov]
122
+ dt: 1.E3
123
+ - type: netcdf
124
+ variables: [thermo, path]
125
+ dt: 1.E3
126
+
127
+ forcing:
128
+ const-gravity:
129
+ grav1: -22.
130
+
131
+ top-cool:
132
+ flux: -100.
133
+ depth: 5
134
+
135
+ bot-heat:
136
+ flux: 100
137
+ depth: 5
138
+
139
+ sedimentation:
140
+ radius:
141
+ H2O(l,p): 1.0e-10
142
+ NH3(s,p): 1.0e-10
143
+ NH4SH(s,p): 1.0e-10
144
+
145
+ density:
146
+ H2O(l,p): 1000.
147
+ NH3(s,p): 800.
148
+ NH4SH(s,p): 1500.
149
+
150
+ const-vsed:
151
+ H2O(l,p): -20.0
152
+ NH3(s,p): -20.0
153
+ NH4SH(s,p): -20.0
154
+
155
+ reactions:
156
+ - equation: H2O => H2O(l)
157
+ type: nucleation
158
+ rate-constant: {formula: h2o_ideal}
159
+
160
+ - equation: H2O(l) => H2O(l,p)
161
+ type: coagulation
162
+ rate-constant: {A: 0.001, b: 0, Ea_R: 0.}
163
+
164
+ - equation: H2O(l,p) => H2O
165
+ type: evaporation
166
+ rate-constant: {formula: h2o_ideal, diff_c: 0.2e-4, diff_T: 0., diff_P: 0., vm: 18.e-6, diameter: 1.0e-4}
167
+
168
+ - equation: NH3 => NH3(s)
169
+ type: nucleation
170
+ rate-constant: {formula: nh3_ideal}
171
+
172
+ - equation: NH3(s) => NH3(s,p)
173
+ type: coagulation
174
+ rate-constant: {A: 0.001, b: 0, Ea_R: 2.}
175
+
176
+ - equation: NH3(s,p) => NH3
177
+ type: evaporation
178
+ rate-constant: {formula: nh3_ideal, diff_c: 0.2e-4, diff_T: 0., diff_P: 0., vm: 18.e-6, diameter: 1.0e-4}
179
+
180
+ - equation: NH3 + H2S <=> NH4SH(s)
181
+ type: nucleation
182
+ rate-constant: {formula: nh3_h2s_lewis}
183
+
184
+ - equation: NH4SH(s) => NH4SH(s,p)
185
+ type: coagulation
186
+ rate-constant: {A: 0.001, b: 0, Ea_R: 0.}
187
+
188
+ - equation: NH4SH(s,p) => NH3 + H2S
189
+ type: evaporation
190
+ rate-constant: {formula: nh3_h2s_lewis, diff_c: 0.2e-4, diff_T: 0., diff_P: 0., vm: 18.e-6, diameter: 1.0e-4}
191
+
192
+ problem:
193
+ Ps: 100.e5
194
+ Ts: 600.
195
+ Tmin: 110.
196
+ xH2O: 3.e-3
197
+ xNH3: 3.2e-4
198
+ xH2S: 1.e-5
@@ -0,0 +1,92 @@
1
+ reference-state:
2
+ Tref: 0.
3
+ Pref: 1.e5
4
+
5
+ species:
6
+ - name: dry
7
+ composition: {H: 1.5, He: 0.15}
8
+ cv_R: 2.5
9
+
10
+ geometry:
11
+ type: cartesian
12
+
13
+ bounds:
14
+ x1min: 0.
15
+ x1max: 300.e3
16
+ x2min: 0.
17
+ x2max: 2400.e3
18
+ x3min: 0.
19
+ x3max: 2400.e3
20
+
21
+ cells:
22
+ nx1: 100
23
+ nx2: 200
24
+ nx3: 200
25
+ nghost: 3
26
+
27
+ distribute:
28
+ backend: gloo
29
+ layout: slab
30
+ nb2: 2
31
+ nb3: 2
32
+ verbose: false
33
+
34
+ dynamics:
35
+ equation-of-state:
36
+ type: ideal-moist
37
+ density-floor: 1.e-10
38
+ pressure-floor: 1.e-10
39
+ tracer-floor: 1.e-10
40
+ limiter: true
41
+ max-iter: 10
42
+ ftol: 1.e-6
43
+
44
+ vertical-projection:
45
+ type: temperature
46
+ pressure-margin: 1.e-6
47
+
48
+ reconstruct:
49
+ vertical: {type: weno5, scale: true, shock: true}
50
+ horizontal: {type: weno5, scale: true, shock: true}
51
+
52
+ riemann-solver:
53
+ type: hllc
54
+
55
+ boundary-condition:
56
+ external:
57
+ x1-inner: reflecting
58
+ x1-outer: reflecting
59
+ x2-inner: periodic
60
+ x2-outer: periodic
61
+ x3-inner: periodic
62
+ x3-outer: periodic
63
+
64
+ integration:
65
+ type: rk3
66
+ cfl: 0.45
67
+ implicit-scheme: 1
68
+ nlim: -1
69
+ tlim: 100.e5
70
+ ncycle_out: 1
71
+
72
+ outputs:
73
+ - type: restart
74
+ dt: 10.E5
75
+ - type: netcdf
76
+ variables: [prim]
77
+ dt: 1.E4
78
+ - type: netcdf
79
+ variables: [thermo]
80
+ dt: 1.E4
81
+
82
+ forcing:
83
+ const-gravity:
84
+ grav1: -22.
85
+
86
+ problem:
87
+ Ps: 100.e5
88
+ Ts: 600.
89
+ Tmin: 110.
90
+ xH2O: 3.e-3
91
+ xNH3: 3.2e-4
92
+ xH2S: 1.e-5
@@ -0,0 +1,195 @@
1
+ reference-state:
2
+ Tref: 0.
3
+ Pref: 1.e5
4
+
5
+ species:
6
+ - name: dry
7
+ composition: {H: 1.5, He: 0.15}
8
+ cv_R: 2.5
9
+
10
+ - name: H2O
11
+ composition: {H: 2, O: 1}
12
+ cv_R: 2.5
13
+ u0_R: 0.
14
+
15
+ - name: NH3
16
+ composition: {H: 2, O: 1}
17
+ cv_R: 2.5
18
+ u0_R: 0.
19
+
20
+ - name: H2S
21
+ composition: {H: 2, S: 1}
22
+ cv_R: 2.5
23
+ u0_R: 0.
24
+
25
+ - name: H2O(l)
26
+ composition: {H: 2, O: 1}
27
+ cv_R: 9.0
28
+ u0_R: -3430.
29
+
30
+ - name: H2O(l,p)
31
+ composition: {H: 2, O: 1}
32
+ cv_R: 9.0
33
+ u0_R: -3430.
34
+
35
+ - name: NH3(s)
36
+ composition: {N: 1, H: 3}
37
+ cv_R: 9.0
38
+ u0_R: -5520.
39
+
40
+ - name: NH3(s,p)
41
+ composition: {N: 1, H: 3}
42
+ cv_R: 9.0
43
+ u0_R: -5520.
44
+
45
+ - name: NH4SH(s)
46
+ composition: {N: 1, H: 5, S: 1}
47
+ cv_R: 9.0
48
+ u0_R: -1.2e4
49
+
50
+ - name: NH4SH(s,p)
51
+ composition: {N: 1, H: 5, S: 1}
52
+ cv_R: 9.0
53
+ u0_R: -1.2e4
54
+
55
+ geometry:
56
+ type: gnomonic-equiangle
57
+
58
+ bounds:
59
+ x1min: 69911000
60
+ x1max: 70211000
61
+ x2min_pi: -0.25
62
+ x2max_pi: 0.25
63
+ x3min_pi: -0.25
64
+ x3max_pi: 0.25
65
+
66
+ cells:
67
+ nx1: 100
68
+ nx2: 48
69
+ nx3: 48
70
+ nghost: 3
71
+
72
+ distribute:
73
+ backend: gloo
74
+ layout: cubed-sphere
75
+ nb2: 1
76
+ nb3: 1
77
+ verbose: false
78
+
79
+ dynamics:
80
+ equation-of-state:
81
+ type: ideal-moist
82
+ density-floor: 1.e-10
83
+ pressure-floor: 1.e-10
84
+ tracer-floor: 1.e-10
85
+ limiter: true
86
+ max-iter: 40
87
+ ftol: 1.e-6
88
+
89
+ vertical-projection:
90
+ type: temperature
91
+ pressure-margin: 1.e-6
92
+
93
+ reconstruct:
94
+ vertical: {type: weno5, scale: true, shock: true}
95
+ horizontal: {type: weno5, scale: true, shock: true}
96
+
97
+ riemann-solver:
98
+ type: hllc
99
+
100
+ boundary-condition:
101
+ internal:
102
+ solid-density: 1.e3
103
+ solid-pressure: 1.e9
104
+ max-iter: 5
105
+
106
+ external:
107
+ x1-inner: reflecting
108
+ x1-outer: reflecting
109
+ x2-inner: custom
110
+ x2-outer: custom
111
+ x3-inner: custom
112
+ x3-outer: custom
113
+
114
+ integration:
115
+ type: rk3
116
+ cfl: 0.45
117
+ implicit-scheme: 9
118
+ nlim: -1
119
+ tlim: 100.e5
120
+ ncycle_out: 1
121
+
122
+ outputs:
123
+ - type: restart
124
+ dt: 10.E5
125
+ - type: netcdf
126
+ variables: [prim, uov]
127
+ dt: 1.e4
128
+ - type: netcdf
129
+ variables: [thermo]
130
+ dt: 1.e4
131
+
132
+ forcing:
133
+ const-gravity:
134
+ grav1: -22.
135
+
136
+ sedimentation:
137
+ radius:
138
+ H2O(l,p): 1.0e-10
139
+ NH3(s,p): 1.0e-10
140
+ NH4SH(s,p): 1.0e-10
141
+
142
+ density:
143
+ H2O(l,p): 1000.
144
+ NH3(s,p): 800.
145
+ NH4SH(s,p): 1500.
146
+
147
+ const-vsed:
148
+ H2O(l,p): -2.0
149
+ NH3(s,p): -2.0
150
+ NH4SH(s,p): -2.0
151
+
152
+ reactions:
153
+ - equation: H2O => H2O(l)
154
+ type: nucleation
155
+ rate-constant: {formula: h2o_ideal}
156
+
157
+ - equation: H2O(l) => H2O(l,p)
158
+ type: coagulation
159
+ rate-constant: {A: 0.01, b: 0, Ea_R: 0.}
160
+
161
+ - equation: H2O(l,p) => H2O
162
+ type: evaporation
163
+ rate-constant: {formula: h2o_ideal, diff_c: 0.2e-4, diff_T: 0., diff_P: 0., vm: 18.e-6, diameter: 1.0e-4}
164
+
165
+ - equation: NH3 => NH3(s)
166
+ type: nucleation
167
+ rate-constant: {formula: nh3_ideal}
168
+
169
+ - equation: NH3(s) => NH3(s,p)
170
+ type: coagulation
171
+ rate-constant: {A: 0.01, b: 0, Ea_R: 2.}
172
+
173
+ - equation: NH3(s,p) => NH3
174
+ type: evaporation
175
+ rate-constant: {formula: nh3_ideal, diff_c: 0.2e-4, diff_T: 0., diff_P: 0., vm: 18.e-6, diameter: 1.0e-4}
176
+
177
+ - equation: NH3 + H2S <=> NH4SH(s)
178
+ type: nucleation
179
+ rate-constant: {formula: nh3_h2s_lewis}
180
+
181
+ - equation: NH4SH(s) => NH4SH(s,p)
182
+ type: coagulation
183
+ rate-constant: {A: 0.01, b: 0, Ea_R: 0.}
184
+
185
+ - equation: NH4SH(s,p) => NH3 + H2S
186
+ type: evaporation
187
+ rate-constant: {formula: nh3_h2s_lewis, diff_c: 0.2e-4, diff_T: 0., diff_P: 0., vm: 18.e-6, diameter: 1.0e-4}
188
+
189
+ problem:
190
+ Ps: 100.e5
191
+ Ts: 600.
192
+ Tmin: 110.
193
+ xH2O: 3.e-3
194
+ xNH3: 3.2e-4
195
+ xH2S: 1.e-5
@@ -0,0 +1,89 @@
1
+ reference-state:
2
+ Tref: 0.
3
+ Pref: 1.e5
4
+
5
+ species:
6
+ - name: dry
7
+ composition: {H: 1.5, He: 0.15}
8
+ cv_R: 2.5
9
+
10
+ geometry:
11
+ type: gnomonic-equiangle
12
+
13
+ bounds:
14
+ x1min: 69911000
15
+ x1max: 70211000
16
+ x2min_pi: -0.25
17
+ x2max_pi: 0.25
18
+ x3min_pi: -0.25
19
+ x3max_pi: 0.25
20
+
21
+ cells:
22
+ nx1: 100
23
+ nx2: 48
24
+ nx3: 48
25
+ nghost: 3
26
+
27
+ distribute:
28
+ backend: gloo
29
+ layout: cubed-sphere
30
+ nb2: 1
31
+ nb3: 1
32
+ verbose: false
33
+
34
+ dynamics:
35
+ equation-of-state:
36
+ type: ideal-moist
37
+ density-floor: 1.e-10
38
+ pressure-floor: 1.e-10
39
+ tracer-floor: 1.e-10
40
+ limiter: true
41
+ max-iter: 10
42
+ ftol: 1.e-6
43
+
44
+ vertical-projection:
45
+ type: temperature
46
+ pressure-margin: 1.e-6
47
+
48
+ reconstruct:
49
+ vertical: {type: weno5, scale: true, shock: true}
50
+ horizontal: {type: weno5, scale: true, shock: true}
51
+
52
+ riemann-solver:
53
+ type: hllc
54
+
55
+ boundary-condition:
56
+ external:
57
+ x1-inner: reflecting
58
+ x1-outer: reflecting
59
+ x2-inner: custom
60
+ x2-outer: custom
61
+ x3-inner: custom
62
+ x3-outer: custom
63
+
64
+ integration:
65
+ type: rk3
66
+ cfl: 0.45
67
+ implicit-scheme: 9
68
+ nlim: -1
69
+ tlim: 100.e5
70
+ ncycle_out: 1
71
+
72
+ outputs:
73
+ - type: restart
74
+ dt: 10.E5
75
+ - type: netcdf
76
+ variables: [prim]
77
+ dt: 1.e4
78
+ - type: netcdf
79
+ variables: [thermo]
80
+ dt: 1.e4
81
+
82
+ forcing:
83
+ const-gravity:
84
+ grav1: -22.
85
+
86
+ problem:
87
+ Ps: 100.e5
88
+ Ts: 600.
89
+ Tmin: 110.
@@ -1,6 +1,6 @@
1
1
  import torch
2
2
  import math
3
- import time
3
+ import kintera
4
4
  from snapy import MeshBlockOptions, MeshBlock
5
5
  from snapy import kIDN, kIPR
6
6
 
@@ -22,9 +22,6 @@ yc = 0.0
22
22
  zc = 260.0
23
23
  s = 100.0
24
24
  a = 50.0
25
- grav = 9.8
26
- Rd = 287.0
27
- gamma = 1.4
28
25
  uniform_bubble = False
29
26
 
30
27
  # use cuda if available
@@ -39,10 +36,13 @@ block = MeshBlock(op)
39
36
  block.to(device)
40
37
 
41
38
  # get handles to modules
42
- coord = block.module("hydro.coord")
43
- thermo = block.module("hydro.eos.thermo")
39
+ coord = block.module("coord")
40
+ eos = block.module("hydro.eos")
41
+ grav = -block.options.hydro().grav().grav1()
44
42
 
45
43
  # thermodynamics
44
+ gamma = eos.options.gammad()
45
+ Rd = kintera.constants.Rgas / eos.options.weight()
46
46
  cp = gamma / (gamma - 1.0) * Rd
47
47
 
48
48
  # set initial condition
@@ -78,7 +78,6 @@ block_vars, current_time = block.initialize(block_vars)
78
78
  block.set_user_output_func(call_user_output)
79
79
 
80
80
  # integration
81
- start_time = time.time()
82
81
  block.make_outputs(block_vars, current_time)
83
82
 
84
83
  while not block.intg.stop(block.inc_cycle(), current_time):
@@ -15,13 +15,15 @@ geometry:
15
15
  distribute:
16
16
  backend: gloo
17
17
  layout: slab
18
- nb2: 1
18
+ nb2: 4
19
19
  nb3: 1
20
20
  verbose: false
21
21
 
22
22
  dynamics:
23
23
  equation-of-state:
24
24
  type: ideal-gas
25
+ gammad: 1.4
26
+ weight: 29.e-3
25
27
  density-floor: 1.e-10
26
28
  pressure-floor: 1.e-10
27
29
  limiter: false