Class: Hash

Inherits:
Object
  • Object
show all
Defined in:
lib/gs2crmod/gs2.rb

Instance Method Summary collapse

Instance Method Details

#convert_to_index(run, *names) ⇒ Object

puts self



1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
# File 'lib/gs2crmod/gs2.rb', line 1145

def convert_to_index(run, *names)
		if self[:strongest_non_zonal_mode]
         ky_element, kx_element =  run.gsl_matrix('spectrum_over_ky_over_kx', no_zonal: true).max_index
         p self[:kx_index] = kx_element + 1
         p self[:ky_index] = ky_element + 1
				 self[:strongest_non_zonal_mode] = false
    end


# 		ep run
	names.each do |name|
		if name == :kx
			if lkx = self[:lagrangian_kx]
				self[:lagrangian_kx_index] = list(:kx).key(lkx)
			end
			if lkxi = self[:lagrangian_kx_index] ||= self[:lkx_index]
				self[:kx_index] = run.eulerian_kx_index(kx_index: lkxi, ky_index: self[:ky_index], t_index: self[:t_index])
			end
		end

		#ep 'name', name
		self[:ky_index] = 1 if name == :ky and run.grid_option == "single" 
		self[:kx_index] = 1 if name == :kx and run.grid_option == "single" 
# 			ep run.list(name)
		self[name + :_index] ||= run.list(name).key(self[name]) || (raise ("#{name} not specified"))
	end
	
end

#setup_time_windowObject



1173
1174
1175
1176
# File 'lib/gs2crmod/gs2.rb', line 1173

def setup_time_window
	self[:t_index_window] ||= [self[:t_index],self[:t_index]] if self[:t_index]
	self[:begin_element], self[:end_element] = (self[:t_index_window] ? self[:t_index_window].map{|ind| ind -1} : [0, -1])
end