mesa_cli 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/bin/mesa +6 -9
  3. metadata +22 -40
  4. data/README.md +0 -202
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dbe1f6a99fb43d4d9e7ec6b761d5f955ef4908be
4
- data.tar.gz: b724fdf3adf6868c2ced43c9922105f4a7da6c0a
3
+ metadata.gz: 1490ea242a1e356a69f33c5e8706c3b32cf44f19
4
+ data.tar.gz: d48c3310e40c0d549239516004bef8bf57318adc
5
5
  SHA512:
6
- metadata.gz: c36060d911b91b3a6e7fd4343365b474458de5a32eed4cb183790fe0e269078b159c9b1e802f03397b06e318769e54d0d3920cc61ce05674967d44f7997ac8ed
7
- data.tar.gz: ccd1b7dc89bf5f1b3c517202da56a65ae4f336ed1b2757de75095355a938807a95b3c2f30d080311970143bcf115ace6f9084c444f9e67bd888d105aecc9e80f
6
+ metadata.gz: 1c5dc05c1de7f1c75aded345f8cfdae11b9f8cb186b643161ec1a568aceb9de495acd6a4ea5cab3ad4aff4808864421b86aefe7fdfe04e18d2a411e9d4c74e8e
7
+ data.tar.gz: 02a0b3b088b5f5763bcdb8b10f09d1c54d05ec8fc9732fbef7b6ada2868bf8ad0bae310211f8015facd4fa0b624699958e11f9b5d9429a7ea1778923012d7f7d
data/bin/mesa CHANGED
@@ -4,11 +4,14 @@ require "fileutils"
4
4
  begin
5
5
  require "mesa_script"
6
6
  $use_mesascript = true
7
- rescue LoadError
7
+ rescue LoadError, TypeError
8
8
  $use_mesascript = false
9
9
  end
10
10
 
11
- ALL_POSSIBLE_SCRIPTS = {"bash" => [".bash_profile", ".bashrc"]}
11
+ ALL_POSSIBLE_SCRIPTS = {
12
+ "bash" => [".bash_profile", ".bashrc"],
13
+ "zsh" => [".zshenv", ".zshrc"]
14
+ }
12
15
 
13
16
  class MyCLI < Thor
14
17
  desc "version", "Display the version number of currently installed MESA."
@@ -263,11 +266,6 @@ class MyCLI < Thor
263
266
  fixed_this_one = adjust_script(script, dir_name, shell)
264
267
  have_fixed = fixed_this_one unless have_fixed
265
268
  end
266
-
267
- # add MESA_DIR assignment if none are present, favoring .bash_profile
268
- unless (have_fixed or login_scripts.empty?)
269
- script = login_scripts[0]
270
- end
271
269
  end
272
270
 
273
271
  desc "rates REACTION [OUTFILE]", "Calculate and output out reaction rates"
@@ -401,7 +399,7 @@ class MyCLI < Thor
401
399
  def adjust_script(script, dir_name, shell="bash")
402
400
  have_fixed = false
403
401
  case shell
404
- when "bash"
402
+ when %w{bash zsh}
405
403
  # read in script to array of strings
406
404
  contents = IO.readlines(script)
407
405
 
@@ -415,7 +413,6 @@ class MyCLI < Thor
415
413
 
416
414
  # adjust MESA_DIR location and document changes
417
415
  lines_to_fix.reverse.each do |i|
418
- line = contents[i]
419
416
  contents[i].sub!(/=.*/, "=#{dir_name}")
420
417
  contents.insert(i, '# ' + "Changed MESA_DIR to #{dir_name} on " +
421
418
  "#{Time.now.ctime} from mesa install script.\n")
metadata CHANGED
@@ -1,81 +1,63 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mesa_cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - William Wolf
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-03 00:00:00.000000000 Z
11
+ date: 2017-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: thor
14
+ name: mesa_script
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.19'
19
+ version: 0.1.4
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.19'
26
+ version: 0.1.4
27
27
  - !ruby/object:Gem::Dependency
28
- name: mesa_script
28
+ name: thor
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.1.4
33
+ version: '0.19'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.1.4
41
- description: |2
42
- MESA CLI is a command-line interface for doing several tasks with Modules
43
- for Experiments in Stellar Astrophysics (MESA; mesa.sourceforge.net). This
44
- package includes one executable, `mesa`. Actions are performed by entering
45
- `mesa` followed by various subcommands. A list of available subcommands can
46
- be displayed by entering
47
-
48
- mesa help
49
-
50
- Any individual subcommand is documented by typing `mesa help` followed by
51
- the name of the subcommand, for instance,
52
-
53
- mesa help new
54
-
55
- will give information about what the `new` command does. For detailed
56
- instructions, see the readme on the github page at
57
-
58
- https://github.com/wmwolf/mesa_cli
59
- email: wmwolf@physics.ucsb.edu
40
+ version: '0.19'
41
+ description: MESA CLI is a command-line interface for doing several tasks with Modules
42
+ for Experiments in Stellar Astrophysics (MESA; mesa.sourceforge.net). This package
43
+ includes one executable, `mesa`. Actions are performed by entering `mesa` followed
44
+ by various subcommands. A list of available subcommands can be displayed by entering
45
+ mesa help Any individual subcommand is documented by typing `mesa help` followed
46
+ by the name of the subcommand, for instance, mesa help new will give information
47
+ about what the `new` command does. For detailed instructions, see the readme on
48
+ the github page at https://github.com/wmwolf/mesa_cli
49
+ email: wmwolf@asu.edu
60
50
  executables:
61
51
  - mesa
62
52
  extensions: []
63
53
  extra_rdoc_files: []
64
54
  files:
65
- - README.md
66
55
  - bin/mesa
67
- homepage: https://wmwolf.github.io
56
+ homepage: http://wmwolf.github.io/mesa_cli/
68
57
  licenses:
69
58
  - MIT
70
59
  metadata: {}
71
- post_install_message: |2+
72
- Thanks for installing mesa_cli!
73
-
74
- To learn more about how to use the mesa command line tool and to keep up to
75
- date with its features, check out the README at the project homepage:
76
-
77
- https://github.com/wmwolf/mesa_cli
78
-
60
+ post_install_message:
79
61
  rdoc_options: []
80
62
  require_paths:
81
63
  - lib
@@ -83,7 +65,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
83
65
  requirements:
84
66
  - - ">="
85
67
  - !ruby/object:Gem::Version
86
- version: '0'
68
+ version: 1.8.6
87
69
  required_rubygems_version: !ruby/object:Gem::Requirement
88
70
  requirements:
89
71
  - - ">="
@@ -91,8 +73,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
73
  version: '0'
92
74
  requirements: []
93
75
  rubyforge_project:
94
- rubygems_version: 2.6.8
76
+ rubygems_version: 2.6.13
95
77
  signing_key:
96
78
  specification_version: 4
97
- summary: Mesa CLI - a command line interface for simple MESA tasks.
79
+ summary: Command line tools for manipulating MESA.
98
80
  test_files: []
data/README.md DELETED
@@ -1,202 +0,0 @@
1
- mesa_cli
2
- ========
3
-
4
- Command line tools for use with open source MESA stellar evolution code.
5
-
6
- I don't think this tool is done yet, but I wanted to get it out there. So far
7
- requires ruby, MesaScript, thor, and a working mesa directory accessed by
8
- `$MESA_DIR`.
9
-
10
- ## Installation ##
11
-
12
- ### Rubygems Installation
13
-
14
- Enter
15
-
16
- gem install mesa_cli
17
-
18
- or if that doesn't work, enter
19
-
20
- sudo gem install mesa_cli
21
-
22
- into your terminal. You should be done now!
23
-
24
- ### Manual Installation
25
-
26
- If, for some reason, the rubygems installation doesn't work, you may clone this
27
- repository and install the single file `mesa` (located in `mesa_cli/bin/mesa`)
28
- as detailed below.
29
-
30
- 1. Make sure you have Ruby 1.8.7 or higher (1.9.3 recommended)
31
- 2. Install [mesascript](http://wmwolf.github.io/MesaScript/).
32
- 3. Install the Thor gem via
33
-
34
- sudo gem install thor
35
-
36
- 4. Place `mesa` file in your path
37
-
38
-
39
- ## Usage
40
-
41
- To get quick information, type `mesa help` to list the commands and see what
42
- they do. For detailed information on a particular command, type `mesa help
43
- command` to learn about an individual command (replacing the word "command"
44
- with the actual subcommand name). Brief summaries of commands are below.
45
-
46
- ### default
47
-
48
- To use, just type
49
-
50
- mesa default NAMELIST_NAME
51
-
52
- where namelist name is the name of a MESA star namelist, like `star_job`,
53
- `controls`, or `pgstar`.
54
-
55
- This command will open the proper defaults file for the corresponding namelist
56
- using whatever editor your system has set in the `EDITOR` variable. For
57
- instance,
58
-
59
- mesa default star_job
60
-
61
- will open `$MESA_DIR/star/defaults/star_job.defaults` in vim or whatever default editor you've set up.
62
-
63
- ### install
64
-
65
- To use, just type
66
-
67
- mesa install VERSION_NUMBER [DIR_NAME] --shell=MYSHELL
68
-
69
- This will do a fresh checkout of mesa (version number given by VERSION_NUMBER)
70
- into a directory (named DIR_NAME, default is mesa-rXXXX, where XXXX is the
71
- version number). After the checkout, mesa will install, and your login scripts
72
- will be updated to point MESA_DIR to this new installation directory.
73
-
74
- By default, the shell is assumed to be bash, so `~/.bash_profile` and
75
- `~/.bashrc` will be checked for instances of `MESA_DIR=` in these files, which
76
- are then updated to point to the new installation path. If no such assignments
77
- are found, one will be added to `~/.bash_profile` (if that file does not
78
- exist, it will be added to `~/.bashrc`, if it exists). There is a `--shell=`
79
- option, but it is currently useless since there is only one shell option.
80
-
81
- Currently there is no support for the C shell, but this will be an feature in a future version. For a basic installation with no mucking around of shell scripts, add the `--basic` or `-b` flag.
82
-
83
- Some examples:
84
-
85
- mesa install 9999
86
-
87
- will download and install mesa revision 9999 into a directory named
88
- `mesa-r9999` in the current directory. It will then try to find the files
89
- `~/.bash_profile` and `~/.bashrc`. If it finds them, it will first try to
90
- update any lines conatining `MESA_DIR=` to point them to the new,
91
- fully-qualified path to `mesa-r9999`. If no such lines are added, it will add
92
- the appropriate line (`export MESA_DIR=/PATH/TO/mesa-r9999`) at the end of one
93
- of those scripts, preferring `~/.bash_profile`.
94
-
95
- mesa install $HOME/mesa_installations/my_latest_mesa 9999
96
-
97
- will download and install mesa revision 9999 into the directory
98
- `$HOME/mesa_installations/my_latest_mesa`. Then it will set `MESA_DIR` in
99
- login scripts as in the previous example.
100
-
101
- mesa install 9999 -b
102
-
103
- will download and install mesa revision 9999 into a directory named
104
- `mesa-r9999` in the current directory. It will not attempt to change login
105
- scripts.
106
-
107
- mesa install $HOME/mesa_installations/my_latest_mesa 9999 -b
108
-
109
- will download and install mesa revision 9999 into the directory
110
- `$HOME/mesa_installations/my_latest_mesa`. It will not attempt to change login
111
- scripts.
112
-
113
- ### new
114
-
115
- To use, just type
116
-
117
- mesa new DIR_NAME
118
-
119
- where `DIR_NAME` is the name of a new MESA work directory.
120
-
121
- This makes a copy of `$MESA_DIR/star/work` into a directory with the name
122
- chosen. With no name (i.e. just typing `mesa new`), the directory will just be
123
- called work. The `inlist_project` will be renamed to `inlist_DIR_NAME`. If
124
- MesaScript is available, the main `inlist` file will be pointed to the newly-
125
- renamed `inlist_project`, and a MesaScript version of the new `inlist_project`
126
- will be made that compiles to `inlist_project`.
127
-
128
- The `-s` or `--simple` option will just copy the work directory and rename the
129
- directory only. No renaming of inlists or creation of MesaScript files will be
130
- done.
131
-
132
- The `-p` or `--pgstar` option will also point the main `inlist` file to the
133
- newly-named `inlist_project` file for the `pgstar` namelist instead of the
134
- default `inlist_pgstar`.
135
-
136
- ### point
137
-
138
- To use, just type
139
-
140
- mesa point INLIST_TO_POINT_TO
141
-
142
- where `INLIST_TO_POINT_TO` is the name of an inlist that you would like your local `inlist` file to point to. Currently this can only allow you to point to one inlist. By default, this will not point to the new inlist for the `pgstar` namelist, but it will for both of the `star_job` and `controls` namelists.
143
-
144
- The `-p` or `--pgstar` option will also point the main `inlist` file to the
145
- `INLIST_TO_POINT_TO` file for the `pgstar` namelist.
146
-
147
-
148
- ### rates
149
-
150
- To use, just type
151
-
152
- mesa rates REACTION_NAME OUTFILE
153
-
154
- where `REACTION_NAME` is the name of a reaction found in `$MESA_DIR/data/rates_data/cache`, without the preceding `r_` and optionally specifying `_1`, `_2`, or whatever other option is available. For instance, `c12_pg_n13` is a valid `REACTION_NAME`, as is `c12_pg_n13_1`. If no ending number is specified, `_1` is assumed.
155
-
156
- `OUTFILE` is an optional argument that specifies a file name where the rate data will be written to. If it is omitted, the data is simply written to the standard output.
157
-
158
- ### test
159
-
160
- To use, just type
161
-
162
- mesa test TEST_CASE DIR_NAME
163
-
164
- where `TEST_CASE` is the name of a test case in `$MESA_DIR/star/test_suite` and `DIR_NAME` is the name of a directory to be created that will contain a copy of the proper test suite case.
165
-
166
- The second argument is optional, and if omitted, the new directory will have
167
- the same name as the original test suite case. If neither argument is given, a
168
- list of every file in `$MESA_DIR/star/test_suite` is output. The listing
169
- behavior can also be forced by adding the `-l` or `--list` option to the call.
170
-
171
- Work directories made in this way are "de-test-suited" in that calls back to
172
- `inlist_test_suite` are deleted along with any other attempts to change the value of `mesa_dir`. All local path definitions (ones using `../../` or the
173
- like) will be made fully qualified. For example, `../../../` will be turned
174
- into `$MESA_DIR/`. Thus, references to other inlists, like
175
- `inlist_massive_defaults` or models, like those found in
176
- `$MESA_DIR/data/star_data`, should remain intact. IF THESE EXTERNAL REFERENCES
177
- CONTAIN LOCAL PATHS, THINGS WILL BREAK. The only inlist that is strictly barred
178
- from this process is `inlist_test_suite` which currently only serves to set
179
- the `mesa_dir` via a local path, so references to this inlist are always
180
- deleted.
181
-
182
- ### version
183
-
184
- To use, just type
185
-
186
- mesa version
187
-
188
- This will just print out the version number of mesa that is currently installed in your MESA_DIR.
189
-
190
-
191
-
192
-
193
-
194
-
195
-
196
-
197
-
198
-
199
-
200
-
201
-
202
-