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



1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
# File 'lib/gs2crmod/gs2.rb', line 1441

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
	raise "No names specified" if names.size == 0


# 		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



1470
1471
1472
1473
# File 'lib/gs2crmod/gs2.rb', line 1470

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