Triangulation calculator latitude curre

Custom Node issue... AI generated code

2024.05.18 22:06 Duemellon Custom Node issue... AI generated code

I'm asking Claude to get this done since I don't know how to make Python & don't have the time. I've been working a few hours at this & I'm getting an error when running this code:
!!! Exception during processing!!! Input and output sizes should be greater than 0, but got input (H: 0, W: 272) output (H: 0, W: 0) Traceback (most recent call last): File "E:\ComfyUI_windows_portable\ComfyUI\execution.py", line 151, in recursive_execute output_data, output_ui = get_output_data(obj, input_data_all) File "E:\ComfyUI_windows_portable\ComfyUI\execution.py", line 81, in get_output_data return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True) File "E:\ComfyUI_windows_portable\ComfyUI\execution.py", line 74, in map_node_over_list results.append(getattr(obj, func)(*slice_dict(input_data_all, i))) File "E:\ComfyUI_windows_portable\ComfyUI\custom_nodes\Duemellon2.py", line 141, in load_image resized_img = resize_transform(cropped_img.permute(2, 0, 1)) File "D:\Python\Python310\lib\site-packages\torch\nn\modules\module.py", line 1532, in _wrapped_call_impl return self._call_impl(args, *kwargs) File "D:\Python\Python310\lib\site-packages\torch\nn\modules\module.py", line 1541, in _call_impl return forward_call(args, **kwargs) File "D:\Python\Python310\lib\site-packages\torchvision\transforms\transforms.py", line 354, in forward return F.resize(img, self.size, self.interpolation, self.max_size, self.antialias) File "D:\Python\Python310\lib\site-packages\torchvision\transforms\functional.py", line 470, in resize return F_t.resize(img, size=output_size, interpolation=interpolation.value, antialias=antialias) File "D:\Python\Python310\lib\site-packages\torchvision\transforms_functional_tensor.py", line 465, in resize img = interpolate(img, size=size, mode=interpolation, align_corners=align_corners, antialias=antialias) File "D:\Python\Python310\lib\site-packages\torch\nn\functional.py", line 4055, in interpolate return torch._C._nn._upsample_bilinear2d_aa(input, output_size, align_corners, scale_factors)

RuntimeError: Input and output sizes should be greater than 0, but got input (H: 0, W: 272) output (H: 0, W: 0)

HERE IS THE NODE'S CODE

import torch import os import sys import numpy as np from PIL import Image, ImageOps, ImageSequence from torchvision.transforms import Resize, CenterCrop, ToPILImage import math import hashlib

Add the path to the ComfyUI modules if not already present

sys.path.insert(0, os.path.join(os.path.dirname(os.path.realpath(file)), "comfy"))

Import required ComfyUI modules

import folder_paths import node_helpers
class LoadImageAndCrop: @classmethod def INPUT_TYPES(s): input_dir = folder_paths.get_input_directory() files = [f for f in os.listdir(input_dir) if os.path.isfile(os.path.join(input_dir, f))] return {"required": {"image": (sorted(files), {"image_upload": True}), "crop_size_mult": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.001}), "bbox_smooth_alpha": ("FLOAT", {"default": 0.5, "min": 0.0, "max": 1.0, "step": 0.01}) }, }
RETURN_TYPES = ("IMAGE", "IMAGE", "MASK") RETURN_NAMES = ("original_image", "cropped_image", "mask") FUNCTION = "load_image" CATEGORY = "image" def load_image(self, image, crop_size_mult, bbox_smooth_alpha): image_path = folder_paths.get_annotated_filepath(image) img = node_helpers.pillow(Image.open, image_path) output_images = [] output_masks = [] w, h = None, None excluded_formats = ['MPO'] for i in ImageSequence.Iterator(img): i = node_helpers.pillow(ImageOps.exif_transpose, i) if i.mode == 'I': i = i.point(lambda i: i * (1 / 255)) image = i.convert("RGB") if len(output_images) == 0: w = image.size[0] h = image.size[1] if image.size[0] != w or image.size[1] != h: continue image = np.array(image).astype(np.float32) / 255.0 image = torch.from_numpy(image)[None,] if 'A' in i.getbands(): mask = np.array(i.getchannel('A')).astype(np.float32) / 255.0 mask = 1. - torch.from_numpy(mask) else: mask = torch.zeros((64,64), dtype=torch.float32, device="cpu") output_images.append(image) output_masks.append(mask.unsqueeze(0)) if len(output_images) > 1 and img.format not in excluded_formats: original_image = torch.cat(output_images, dim=0) original_mask = torch.cat(output_masks, dim=0) else: original_image = output_images[0] original_mask = output_masks[0] # BatchCropFromMask logic masks = original_mask self.max_bbox_width = 0 self.max_bbox_height = 0 # Calculate the maximum bounding box size across the mask curr_max_bbox_width = 0 curr_max_bbox_height = 0 _mask = ToPILImage()(masks[0]) non_zero_indices = np.nonzero(np.array(_mask)) min_x, max_x = np.min(non_zero_indices[1]), np.max(non_zero_indices[1]) min_y, max_y = np.min(non_zero_indices[0]), np.max(non_zero_indices[0]) width = max_x - min_x height = max_y - min_y curr_max_bbox_width = max(curr_max_bbox_width, width) curr_max_bbox_height = max(curr_max_bbox_height, height) # Smooth the changes in the bounding box size self.max_bbox_width = self.smooth_bbox_size(self.max_bbox_width, curr_max_bbox_width, bbox_smooth_alpha) self.max_bbox_height = self.smooth_bbox_size(self.max_bbox_height, curr_max_bbox_height, bbox_smooth_alpha) # Apply the crop size multiplier self.max_bbox_width = round(self.max_bbox_width * crop_size_mult) self.max_bbox_height = round(self.max_bbox_height * crop_size_mult) bbox_aspect_ratio = self.max_bbox_width / self.max_bbox_height # Crop the image based on the mask non_zero_indices = np.nonzero(np.array(_mask)) min_x, max_x = np.min(non_zero_indices[1]), np.max(non_zero_indices[1]) min_y, max_y = np.min(non_zero_indices[0]), np.max(non_zero_indices[0]) # Calculate center of bounding box center_x = np.mean(non_zero_indices[1]) center_y = np.mean(non_zero_indices[0]) curr_center = (round(center_x), round(center_y)) # Initialize prev_center with curr_center if not hasattr(self, 'prev_center'): self.prev_center = curr_center # Smooth the changes in the center coordinates center = self.smooth_center(self.prev_center, curr_center, bbox_smooth_alpha) # Update prev_center for the next frame self.prev_center = center # Create bounding box using max_bbox_width and max_bbox_height half_box_width = round(self.max_bbox_width / 2) half_box_height = round(self.max_bbox_height / 2) min_x = max(0, center[0] - half_box_width) max_x = min(original_image.shape[1], center[0] + half_box_width) min_y = max(0, center[1] - half_box_height) max_y = min(original_image.shape[0], center[1] + half_box_height) # Crop the image from the bounding box cropped_img = original_image[0, min_y:max_y, min_x:max_x, :] # Calculate the new dimensions while maintaining the aspect ratio new_height = min(cropped_img.shape[0], self.max_bbox_height) new_width = round(new_height * bbox_aspect_ratio) # Resize the image resize_transform = Resize((new_height, new_width)) resized_img = resize_transform(cropped_img.permute(2, 0, 1)) # Perform the center crop to the desired size crop_transform = CenterCrop((self.max_bbox_height, self.max_bbox_width)) cropped_resized_img = crop_transform(resized_img) cropped_image = cropped_resized_img.permute(1, 2, 0).unsqueeze(0) return (original_image, cropped_image, original_mask) def smooth_bbox_size(self, prev_bbox_size, curr_bbox_size, alpha): if alpha == 0: return prev_bbox_size return round(alpha * curr_bbox_size + (1 - alpha) * prev_bbox_size) def smooth_center(self, prev_center, curr_center, alpha=0.5): if alpha == 0: return prev_center return ( round(alpha * curr_center[0] + (1 - alpha) * prev_center[0]), round(alpha * curr_center[1] + (1 - alpha) * prev_center[1]) ) @classmethod def IS_CHANGED(s, image): image_path = folder_paths.get_annotated_filepath(image) m = hashlib.sha256() with open(image_path, 'rb') as f: m.update(f.read()) return m.digest().hex() @classmethod def VALIDATE_INPUTS(s, image): if not folder_paths.exists_annotated_filepath(image): return "Invalid image file: {}".format(image) return True 
NODE_CLASS_MAPPINGS = { "LoadImageAndCrop": LoadImageAndCrop }
submitted by Duemellon to comfyui [link] [comments]


2024.05.17 20:16 doodler_tech Java Mocha 4.5.8 Distance in Kilometers

https://preview.redd.it/j3bqg1k1311d1.png?width=2880&format=png&auto=webp&s=6372efa59690f7ea40c0486fc59fa56a89f4f60c
I don't know to fix the rounding error for the last test case
submitted by doodler_tech to codehs [link] [comments]


2024.05.16 23:50 Hel-Low5302 Can anyone help me figure out why my simulation data is not going through the output port?

I'm a beginner in FPGA programming and I'm trying to implement a noise filter in Verilog on Vivado. When I run behavioral simulation, the output from the filter (x_dat) gives unknown values. I'm trying to run around 100 kHz by doing calculations every 1024 clock cycles with a 125 MHz clock. I'm also doing a division with the Divider Generator IP inside the filter, and the output from that (k_gain) is also unknown (X). The dac_dat_o is the data output from the signal generator that generates a sine wave with the output from the adc_clk , which works fine. Does anyone have any other suggestions on how I can make my calculations run faster?
I spread the calculations to multiple cycles manually (setting a multicycle path as a constraint was too complicated for me) so that there wouldn't be a timing failure. For context, I'm modifying one of Anton Potocnik's projects. Here is my code (full version here):
simulation result
block design
 reg [31:0] y, y_init, u; reg [31:0] x_curr, x_curr0, x_curr1, x_curr2, x_next, x_next2, x_next3; reg [31:0] e_pre_var, e_next_var, e_next_var1, e_next_var2; reg [31:0] K_pre, K_next, one_K_next_sq, K_next_sq; // kalman gain initial begin y_init = 32'b0; x_curr = 32'b0; x_curr0 = 32'b0; x_curr1 = 32'b0; x_curr2 = 32'b0; x_next = 32'b0; x_next2 = 32'b0; x_next3 = 32'b0; e_pre_var = 32'b0; e_next_var = 32'b0; e_next_var1 = 32'b0; e_next_var2 = 32'b0; K_pre = 32'b0; K_next = 32'b0; one_K_next_sq = 32'b0; K_next_sq = 32'b0; end always@(posedge clk) begin if (counter == 0) begin y_init = y_measured; end if (counter == 1) begin x_next2 = k_omega*y_init; x_next3 = oT*x_next2; end if (counter == 2) begin x_next = x_next1 - x_next3; // predict the next state x_n e_pre_var = e_pre_var0; // make sure this is a positive number end if (counter_eq_1024) begin y = y_measured; u = -oT*k_omega*y; end if (counter1024 == 1) begin K_next_num = (phi_sq*e_pre_var + d_var); K_next_denom = (phi_sq*e_pre_var + d_var + s_var); // K_next = K_next_num / K_next_denom; M_AXIS_OUT_tvalid_kal = 1'b1; // send the numerator and denominator values to the Divider Generator K_next = K_next_in; end if (counter1024 == 2) begin x_curr0 = 1-K_next; x_curr1 = x_curr0*x_next; x_curr2 = K_next*y; end if (counter1024 == 3) begin x_curr = x_curr1 + x_curr2; // estimate the current state x_next = phi*x_curr + u; // predict the next state end if (counter1024 == 4) begin //e_next_var = (1-K_next)*(1-K_next)*(phi*phi*e_pre_var + d_var) + K_next*K_next*s_var; one_K_next_sq = (1-K_next)*(1-K_next); K_next_sq = K_next*K_next; end if(counter1024 == 5) begin e_next_var1 = one_K_next_sq*K_next_num; e_next_var2 = K_next_sq*s_var; e_next_var = e_next_var1 + e_next_var2; end if (counter1024 == 6) begin // make the next values the old values for next cycle K_pre = K_next; e_pre_var = e_next_var; // Assign the calculated value to the output signal M_AXIS_OUT_tdata = x_next; // Store sampled data in memory x_data = x_next; M_AXIS_OUT_tvalid_kal = 1'b0; // stop data flow to Divider Generator end end 
submitted by Hel-Low5302 to FPGA [link] [comments]


2024.05.15 18:50 Spooker0 Grass Eaters 52 Just Passing Through

Previous Next
First Series Index Galactic Map State of War Map RoyalRoad Patreon Discord

MNS Oengro

“How’s the fuel status of the Oengro?” Grionc asked.
Vastae, eyes glued to his console, replied without hesitation. “We have just enough blink fuel for one jump, but we aren’t going anywhere once we get to the other side without a refueling ship.”
“One blink is all we need. And if the Oengro is good to go, the other, smaller ships should be fine too then,” Grionc responded, bringing up the system map on screen with her paws. “Four minutes to blink limit. Have the ship’s crew secure themselves for the blink and get ready for shift change to execute post-blink procedures when we arrive.”
“Yes, High Fleet Commander,” Vastae acknowledged with a brisk nod.
Suddenly, three quarters of the sensor readings on her sensor board disappeared, and the fidelity on the remaining took a nose-dive in accuracy. A low murmur ran through the sensor stations, which she waved away with a paw. “No need to panic. It looks like our friends jumped before we did, as arranged. Our sensors are on their own for now.”
Vastae swallowed hard. “Are you certain about this plan, High Fleet Commander?” Vastae asked nervously. “Not that I don’t trust what Sphinx— Speinfoent cooked up, but this is a last-minute plan modification we haven’t rehearsed. And with our fuel situation, we only get one chance here.”
Grionc put a calm smile on her face. “Remember that exercise we did with the Grass Eaters a while back?”
“Which one?”

4 months ago

“Since it’s New Years, it’s time to have some fun,” Mark announced with a grin to Grionc and the rest of the curious bridge crew. “I’m going to show you guys a fun teambuilding exercise we did on Terra.”
“Teambuilding exercise?” Grionc asked suspiciously.
Mark didn’t let her skepticism color his enthusiasm. “Well, I’m not sure how much teambuilding it does, but it is fun. And I have never seen aliens do it. In fact, this might be the first time this has ever been done outside of Sol!”
“Fine, fine. What are we doing?” she relented.
“This exercise is what we call the trust fall.”
“The trust fall?” Grionc repeated. “It’s about building trust? Like trust in your crew?”
Mark nodded vigorously. “It’s supposed to. I’m not sure if it truly works, but it truly is fun. You and I can demonstrate for the crew.”
Grionc sighed. “Sure. What do I do?”
“Come stand over here,” Mark pointed to a spot on the floor, and then stood in front of her with his back to her. “What I’m going to do is I’m going cross my arms… like this… and on the count of three, I’m going to fall backwards, and you have to catch me when I do.”
“Huh. That seems dangerous. What happens to you if I don’t catch you?” Grionc asked, mild concern creeping into her voice.
“Traumatic brain injury, probably. Something similar for your species too, I assume,” Mark shrugged nonchalantly. “But don’t worry about that. We have good medical facilities on the Nile, and you will catch me. That is the point of the exercise. Alright, you ready?”
Sensing his insistence, Grionc sighed and held her paws out, bracing herself. “Ready.”
“One, two, three…” Mark did as he described, crossing his arms, and falling backwards into Grionc’s outstretched arms. She grunted with slight effort as she intercepted his fall and then gently lowered him onto the ground, “Oomph. Huh. You Terrans are lighter than you look.”
“Yeah, my bones are nano-grafted,” Mark grinned, bounced up to full height, and circled around her back. “Okay, now it’s your turn.”
Grionc crossed her arms and held her breath for a moment. “One, two…”
She didn’t move. A few seconds later, she let go of her held breath. “I can’t.”
“What? Why not?”
Grionc muttered excuses. “No, it’s just— my tail— our balance mechanisms are different, I can’t just fall backwards on purpose—”
Mark insisted. “It’s not that difficult. Just let go. Don’t worry. I’m right here. I promise I’ll catch you.”
She held her breath once again, psyching herself up for a few more moments.
“One, two… doh, I can’t.”
Mark lightly patted her on the shoulder. “That’s okay… don’t worry… Hey, Speinfoent, come over here and give her a light shove. Alright, on the count of three. One, two—”
“Oh, no. Don’t you dare! No! Don’t touch— Yowwwwwww!”
Grionc continued, “And now… we fall. And we trust that our new friends will be there to catch us.”

ZNS 2228

“They’ve blinked,” the computer officer reported.
“Did we catch their blink vector?” Skvanu asked urgently.
“Calculating… got it! We triangulated their blink vector and probable destination! Entering it into our fleet navigation computers,” she responded, paws flying over the controls.
“How long before we can execute the blink?” Skvanu pressed.
“Two minutes before we hit the limit ourselves,” she replied, not looking up.
“Good, get the crews ready and start the countdown. I want to blink the millisecond we are clear of the system limit. And get all systems ready for what’s on the other side. They almost definitely have an ambush waiting for us. I’m guessing that’s where the remaining nine or so squadrons of Sixth Fleet are waiting for us,” Skvanu said confidently. “Twelve Lesser Predator squadrons to twenty-six of ours. Doesn’t matter how many upgrades they have, we will defeat them, especially since the first three will be within railgun range. Get those gunnery crews and point defense computers ready.”
“Blinking in seventy seconds,” she announced. “Sixty-five seconds—” Suddenly, she stood up, “Eight Whiskers, our FTL communications are open again! Both Datsot and Gruccud have just responded to our last message!”
Skvanu spun around to face her. “That makes sense. Whatever device they used to stop our communications must have been on one of the ships that just blinked out. Is there any priority intelligence from either?”
“Yes! Datsot has an emergency transmission for us. It’s from Ten Whiskers Ditvish!”
“What is it?” Skvanu asked, his voice serious.
She began to read. “Lesser Predators have entered Datsot system in force. Nine squadrons spotted so far. They may attempt to engage our garrison force there… His guidance is that we return immediately to trap these aggressor ships, but leaves the decision up to you…”
Skvanu absorbed the information with shock. If those ships are really in Datsot, they must not be on the other side of wherever the Oengro is blinking. And with that context, this now smelled exactly like a planned trap.
He thought out loud. “This must be what the Lesser Predators planned from the start. If we chase, we have no idea what they have on the other side. There may be refueling ships. They may have already gotten away. By the Prophecy, they may even be sacrificing three squadrons to get us to blink through a singularity or anomaly. But wait… If we return to Datsot immediately, we might catch those squadrons split from the rest of their ships and cripple their fleet!”
Having made up his mind, he shouted urgently at the navigation station, “Navigation, hold the blink!”
“Halting the blink procedures.”
“A handful of ships have already completed the blink!” the computer officer reported, almost in a panic.
“Cease blink procedures! Fleet-wide, cease the blink!”
The order went out immediately, and it was a testament to the discipline of the Znosian Navy that most squadrons managed to stop the countdown just seconds before it went through.
“How many ships went through?” Skvanu asked urgently.
“We managed to stop most of our ships, Eight Whiskers. Only five combat ships from Squadron 6 went through.”
He sighed in relief. “Only the Prophecy can help them now… Turn us around. Let’s get back to Datsot.”

TRNS Nile

“I think we are in sufficiently deep space,” Captain Gregor Guerrero said to his crew. “Drop us out.”
“Yes, captain. Emergency drop-out in five… four… three… two… one… now.”
The ship shuddered and creaked as the emergency-stop was activated. The blink engine wound down, forcing the ship back into normal space.
Gregor turned to his navigation officer. “How far from Plaunsollib did we travel, in regular space?”
“Two months on their Alcubierre drives if they combat burn with all their fuel. Four if they plan on stopping,” she replied immediately. “They’d be going too fast to aerobrake anyway.”
“Good,” Guerrero said, gluing his eyes to his sensor board. Ships in FTL are difficult to detect, even on gravidar, but the state-of-the-art technology on the Nile gave them a few seconds of warning.
A few seconds later, the sensor officer’s voice cut through the tense silence. “I’ve spotted the Puppers in blink! All of them, tight formation. They’ll pass us in about fifteen seconds.”
Guerrero nodded his pleasure. “Good, let them pass. Tell me when they’re out of range.”
The seconds ticked by. “Ten… five… they’ve passed our position… and now they’re out of range.”
“Now, switch on the blink disruption field,” he ordered.
The hum of the ship’s ambient noise went up an octave, signaling maximum power drain as the ship’s thirstiest system kicked in.
Gregor looked at his information panel. “Full emissions control. EMCOM Alpha. Deploy the FTL jammer drone and then shut off our engines. If things go well, we’re about to be joined by half the fucking Bunny Navy in a minute.”
“Aye, Captain. EMCOM Alpha.” The rest of the crew nodded, working their controls with practiced competence.
“Jammer drone out. You think they’ve got wild weasels, captain?”
“Unlikely, but we take no chances. If they don’t…” He shrugged. “… we’ll just get our drone back later.”
A tense minute passed, then the sensor officer reported, “Captain, Znosian ships spotted on gravidar! Two… three… five in total… They’ve just been forced out of blink.”
“Five squadrons?”
“No, Captain, five ships.”
Gregor furrowed his brow, surprised, and took another glance at his console. “Only five ships?”
“Yes, sir.”
“Alright, keep the disruption field up, and analyze the drive signatures on them. Maybe one of them is this Skvanu guy we’re supposed to hit,” he speculated hopefully.
After half an hour, Guerrero finally called it quits. “No more guests are showing up. Looks like they must have wizened up at the last moment.”
“Aye, sir,” the executive officer said, shaking her head in disappointment as well. “It was a good plan. Could have stranded their whole fleet out here.”
“Well, bad luck— these things happen in war, Lieutenant. Don’t worry. We’ll get them next time. How are the guests we did get doing?”
“Out of blink fuel, as expected. They’ve been dumping cargo in an organized fashion. I think they’re planning to see if they can reach Plaunsollib with their subspace drives in a reasonable amount of time and call triple A.” Then, she asked, “Where do you think the rest run off to?”
“Probably Datsot,” Guerrero guessed. “Phone Sphinx and tell him he’s probably got the whole shit storm heading his way, ETA about a couple days. Get the estimates to him.”
“Yes, sir.”
“Now, we just need to silence the witnesses so we can use this trick again. Bridge to CIC: let’s keep it simple. One Kestrel for each of the targets. We’ll swiss-cheese them with railguns after. Just in case.”
“Aye, Captain. We’re not dropping off those TRO drones here, are we?”
“Nah. Too much work. No one is finding these guys ever again anyway.”

MNS Trassau

“I just got off a call with the Nile,” Loenda announced. “Looks like the Grass Eaters have discovered our ruse in the other system. The main enemy fleet is heading our way right this second.”
Speinfoent sighed, and suggested, “If we burn closer for just half a day more—”
“No more,” Loenda declared. “We are already risking nine squadrons coming this far into the Datsot system limit.”
“Alright,” Speinfoent agreed reluctantly. “We can still give them a present they won’t forget any time soon.”
“That, we will. That we will.” Loenda turned to her console. “All ships in Battlegroup 2, dump your payloads as quietly as you can. Then wait half an hour to change your vector and make your way to the system blink limit.”
“Yes, Battlegroup Commander.”

ZNS 1841

“Ten Whiskers, the Lesser Predators are turning around,” the computer officer declared, doing her best to hide her relief.
“What? Where are they heading now?” Ditvish asked, confounded.
“Towards the shortest path to the system blink limit, I think.”
“That’s it? They’re just leaving now?”
“Combat computer speculates that they might have seen that Eight Whiskers Skvanu is heading back to Datsot, so they are breaking off the attack,” the officer offered.
“That’s… not very Lesser Predator of them, but very logical,” he admitted. “They must have realized their plan failed and are now cutting their losses.”
He didn’t mention that his fleet was the one that came out behind, losing yet another precious supply convoy and then sending the whole combat fleet on a wild predator chase for nothing. That State Security goon might start to become a problem if he didn’t spin this well in his after-action report.
A few hours later, a foreboding feeling coloring his mood, he ordered, “Sensors, boost our radars towards where they changed vectors. I want to check to see if they dropped any drones or traps.”
“Yes, Ten Whiskers.”
The 1841 boosted its radar towards the direction, blaring out signals on maximum strength and—
“Incoming… missiles? Ten Whiskers, many missiles! Dozens! Over a hundred! They’re well within our minimum abort range!”
“By the Prophecy!” Ditvish exclaimed. “All ships, execute combat burn away from them! Countermeasures and fire counter-missiles, at the ready! Track those missiles!”
Fortunately, the garrison fleet was still in high readiness from before. Their engines were ready to light up to full acceleration immediately.
Unfortunately, the missiles were already close. In desperation, his ships began dumping their entire loads of radar chaffs and flares into space behind them as they maneuvered away from the threat. Counter-missiles sped out of their tubes towards their rear, relying on their motherships’ sensors and radars to find the tiny alien missiles for them to engage.
Quietly gliding through space towards the enemy on inertia inherited from their motherships was the sizable swarm of Terran-made missiles. Obsolete for military purpose in Sol but still produced for the civilian and gray market, they were an easy addition on the TRO’s shopping list. Vast quantities of them had found their way into various shell corporations and dead drops all over Sol, then onto hastily constructed exterior pylons on Sixth Fleet ships.
While they were indeed several times outside of the maximum effective range of the Znosian ships at launch, missiles technically did have unlimited ballistic ranges in space — if their enemies were not moving and they did not need to constantly fire their thrusters to adjust course. Relying on a short first burn and then inertia, they flew most of the way towards the stationary enemy fleet completely undetected. By the time they were spotted, it was too late; the Znosians were well within their effective ranges.
Their intelligence chips might not have been super-Terran state-of-the-art computers, but the Pigeons had no problem realizing that they were discovered. They had been tracking the enemy targets using passive infrared sensors that did not alert enemy threat sensors to their presence. But the second that the targets started dropping flares to blind them, they activated their primitive late twenty-first century radars and homed in onto the priority targets they’d been given. Their main thrusters began their burns, adjusting their vectors to intercept the now-finally-moving enemy ships.
Then, they saw the incoming counter-missiles — fired by the enemies sporadically, obviously in panic.
The makers of the Pigeons might not have bothered to include next-generation electronic dazzlers on them, but penetration aid on missiles had been standard in Terran warfare for a century. They littered the space they were in with chaff and their own bright flares, coordinating with the other missiles in the area with short range laser communication to ensure that none in the swarm would confuse or disrupt each other.
The Znosian counter-missiles were certainly confused and disrupted though. Many veered off into phantom signals. Some lucky ones did manage to find their targets. When a few of their comrades dropped off their impromptu mesh net, the Pigeons constantly corresponded with laser communications to re-prioritize their targeting.
At the top of the list was the fattest, easiest target of them all: the enemy flagship 1841.
Seconds before impact, the missiles finalized their targets, and they spent every drop and fume of their remaining fuel on terminal maneuvers.
The Znosians’ close in weapons systems had milliseconds to engage the incoming threats. They performed admirably… for trying to deal with this unknown alien threat for the first time. A couple dozen more missiles were plucked out of space, but it was not enough.
Not nearly.
The rest slipped through the net.
Miraculously, the 1841 managed to survive initially. Despite it being the primary focus of the Pigeon mob, the other ships did their best to shield its most vital components in its rear with their own point defense. And the Pigeons — like most missiles of its era — were loaded with just enough firepower to destroy much smaller Terran ships. The larger hulls of the Znosian ships gave their obsolete mid-century intelligence chips a slightly more interesting exercise in module identification and targeting.
The massive Thorn-class battleship took fourteen hits to varying systems that the missiles visually identified as “that looks pretty important” on their final approach: its primary missile and gun tubes were trashed, venting atmosphere to space in those compartments. A proximity hit near the stern took out four of its eight massive main thrusters and several system modules at the rear of the ship. And perhaps worst of all, one Pigeon managed to zero in on its vulnerable front bridge, the explosion emptying its contents and occupants into vacuum.
Luckily for Ten Whiskers Ditvish, none of them hit the armored flag bridge where he was in the belly of the ship, vindicating the Znosian Navy’s practice of separating the two for redundancy.
Nonetheless, Ditvish fell to the ground as the simultaneous impacts temporarily overloaded the inertial compensators and shook the ship to its core. Sparks flew around him, and he smelled a pungent stink as the automated fire suppression systems kicked in to save as much as they possibly could.
He slowly climbed to his feet and looked at the scene around him. A sensor officer was spraying foam at a small fire with a handheld device, successfully extinguishing it in seconds. Several other of his crew were recovering and returning to their stations with remarkable calm. After all, they were elite, well-trained spacers and officers of the Znosian Navy.
Ditvish did the same, propping himself back into his command chair with slight effort. He operated his console in a concussed daze. One glance at the status board told him that the 1841 was a write-off. It wasn’t going to be combat effective ever again. At least its life pod systems were working, and he watched in relief as dozens then hundreds of crew members in the damaged sections of the ship climbed into theirs and ejected into the relative safety of vacuum.
He checked up on the other ships: several others were hit. Six had outright detonated: no survivors nor signals came from them. Two were irreparably damaged, their remaining crews also abandoning their ships in an orderly fashion. And another six had visible fires or scorch marks on their damaged hulls, but those crews were still valiantly fighting to keep their ships alive.
Ditvish noticed that the missile didn’t go for all his ships, just the ones on the outer edge on his sensor board— wait, the missiles—
To his horror, several more dozen missiles they’d detected were still active, and they were going for—
He looked at his computer officer’s station and yelled, “We have to warn them!”
She yelled something back at him, but he realized that he couldn’t hear her. Hitting the floor must have injured his hearing organs. He yelled again, hoping that she could still hear. “Warn the orbital support fleet! The logistics and fire support ships! Evasive maneuvers and take cover in the atmosphere!”
Her lips moved again. He got out of his chair and stumbled over to her in a daze, trying to hear what she was saying.
She was saying something.
It must be important.
“… not reach them. Our communication array… destroyed! Ten Whiskers, we need to get… We don’t have much time!”
Ditvish finally understood her from reading her lips. He didn’t respond. Just numbly watched the planetary battlemap of Datsot on the main screen.
It didn’t take long. They were completely defenseless.
The remaining missiles plucked every last orbital fire support and logistics transport ship out of the skies of Datsot. Most detonated; a few left behind trails of black smoke as they sank uncontrollably towards the planet’s surface.
Then, Ditvish’s hind legs gave out and he crumpled onto the bridge floor.
He was dimly aware of one of his subordinates dragging him towards the bridge escape pod as he blacked out.

MNS Trassau

“Don’t worry, Speinfoent,” Loenda said, putting her paws around the junior commander looking glumly at the image of Datsot retreating from their view as the rest of the bridge cheered the better-than-anticipated success of the raid. “We’ll come back, and next time, we’re coming back for everything.”
“That we will, Loenda. That we will.”

Meta

There is no research that shows the effectiveness of trust falls for building trust in a team and plenty of research showing that falling backwards from a full standing position without adequate bracing or padding can lead to serious brain, spinal, and back injuries.
Coercion or retaliation against Malgeir employees who refuse to participate in trust fall exercises may be considered investigable or actionable violations of workplace safety regulations by the Republic Office of Occupational Safety or anti-discrimination regulations by the Office of Equal Opportunity.
Whistleblowers are entitled to up to 25% of monetary penalties recovered. If you see something, say something.
Previous Next
Chapter 53: Apostasy
submitted by Spooker0 to HFY [link] [comments]


2024.05.15 05:20 kayenano The Villainess Is An SS+ Rank Adventurer: Chapter 239

[<< First] [< Previous] [Next >] [Patreon] [Discord]
Synopsis:
Juliette Contzen is a lazy, good-for-nothing princess. Overshadowed by her siblings, she's left with little to do but nap, read … and occasionally cut the falling raindrops with her sword. Spotted one day by an astonished adventurer, he insists on grading Juliette's swordsmanship, then promptly has a mental breakdown at the result.
Soon after, Juliette is given the news that her kingdom is on the brink of bankruptcy. At threat of being married off, the lazy princess vows to do whatever it takes to maintain her current lifestyle, and taking matters into her own hands, escapes in the middle of the night in order to restore her kingdom's finances.
Tags: Comedy, Adventure, Action, Fantasy, Copious Ohohohohos.
Chapter 239: Standing Start
A wine bottle rolled against the side of my boot.
Amidst a gallery of stunned faces and open mouths, it was easily the second most lively thing here.
The first was a clockwork doll clutching at her stomach in pain.
“Ahahahha~ ahahaha~ ahah … uck … ack … ughh … ahahaha~”
I pursed my lips.
Still, I said nothing.
For one thing, this was precisely what happened when one ate the mouldy cinnamon rolls combined with any grass growing by the side of the road. If Apple refused to eat something, then so should she.
But for another–
“What … What is this … ?”
It was because the first response was reserved for the baroness.
Her words came out in a quivering tone, matching the disbelief upon her face.
Frankly, she had to do better than that.
Only the wine from the bottle I nudged away dribbled into the soil. And also the line of drool from a comatose farmer. But I didn’t want to think about that.
Still, it was an excellent benchmark. Until her tears could properly overpower the sour aroma from the Château de Riaré Hensoise, I would deem her bawling to be incomplete.
She had a long way to go.
“How … How are you still …” she began, slowly rising from her seat. “This … This is impossible–”
I offered a tidy smile alongside a flick of my hair, relishing in the moonlight adorning my figure.
“I agree. It shouldn’t be possible. But I assure you, my skin is 100% natural.”
“E-Excuse me … ?”
“No magical enchantments. No unicorn elixirs. No witchly glamors. Just a healthy sleep schedule of however many hours I desire and a diet of fresh strawberry shortcakes.”
The baroness mouthed silently at my secrets being revealed.
A strange way of offering her gratitude. Other princesses hounded my door for this knowledge. Given her pale, blotchy skin and lips as dry as a pond in a desert, she should be pleading for more.
Instead, she pointed at the fallen drunk beside us.
“This … This shouldn’t be possible … no, wait … the clockwork doll … did she–”
She suddenly snapped towards Coppelia, her eyes widening.
“Uuh … ahaha … ugh, it hurts ... ahaha … it hurts so much … ahaha … my tummy … aha … oh no … I’m … I’m seeing daisies … aha … I … ugh … I think I need help …”
Coppelia hugged her stomach, writhing like a freshly hatched caterpillar. Her eyes darkened as hiccups of laughter assailed her defeated form.
The baroness pursed her lips.
Then, she turned to Renise instead.
“Did you–”
“A-Amazing! … I … I have no idea what you did … but it wasn’t just wonderful … it was beautiful! The colours! The warmth! It was like a rainbow come to life!”
With a smile worthy of any attendant, the maid brought her hands together in polite applause. Naturally, to be praised for my brushwork was nothing new to me. Nor was the sight of stars shining in her eyes with greater brightness than any in the night sky.
Why, that even came whenever I left my bedroom.
“You … how did … how did you defeat him … ?”
The strands of the baroness’s golden hair began to frizzle as she turned towards me. All I saw were her tonsils. Bright red and healthy. She should be pleased.
“This was … this was no common man … do you know who he is … ?”
Without offering a chance to ignore her, she stamped a foot, pointing at the fallen drunk with maddened jabs. The man offered no defence, now as spent and drained as the bottle beside him.
I raised a brow.
“Indeed, I do. He’s a farmer who made poor life choices. And between leaving his farm and offering his pitchfork to an overly ambitious baroness, the greater was you. My congratulations on being the superior mistake. I acknowledge your triumph.”
Bwam.
The baroness promptly slapped her palms down on the table.
“This man … is Willem of Hagel,” she said, her teeth gritted together. “A man desperate and cursed.”
“Yes, well, to be a peasant is a dire thing. But it could be worse. At least he isn’t nobility.”
A mouth further widened before me.
Indeed, this was a terrible time to realise her affliction. But I was no famed angel of healing for nothing. There was a cure for ambition. And it involved copious amounts of tears.
I was still waiting.
“There is no world in which you should have been able to defeat him … not if half the tales about him prove true … he is a famed opponent … all the while you are … you are …”
Suddenly, her eyes left my face for the very first time.
No longer feeling that my cheeks were in danger of being poked, she swept her eyes upon my person, as though hoping to find some blemish to signify I was as false as a field of corn.
She stopped at the sword by my side.
And also–
“A copper ring,” she said softly.
Suddenly, my 29th house of cards I was subtly constructing collapsed.
… T-The ring!
The blot on my finger! The insidious badge of shame! The symbol of the Adventurer’s Guild!
Why, I’d taken it for granted that my masterful disguise was impervious! But this was no ordinary noblewoman I was seated across!
This … This was one I’d previously sat across before!
I’d made a terrible mistake!
I was mesmerising! A beautiful princess as charming as I was modest!
There was utterly no scenario in which I’d be forgotten!
I … I should have removed the copper ring!
“O-Oho … ohoho … w-what copper ring?” I said, my hands vanishing below the table at a speed con artists could only nod at. “Ah, do you refer to the ruby inlaid ring I often carry on my hand? The one which changes colour depending on the longitude and latitude? In that case, you may very well have briefly spied something which resembled a copper hue. But it is in fact a thing of unparalleled beauty and craftsmanship. Not a disgraceful copper ring.”
The baroness slowly looked up at me, her eyes blinking.
“No. I wasn’t mistaken. I … I recognise that ring. It is a copper ring, the same size and shape as those worn by … adventurers.”
My mouth widened in horror.
At once, I immediately sought a plant pot or a heavy book. Something to immediately erase the past few seconds of her memory.
Why … if she knew my secret, then the shame would haunt me all the way until I’d found something weighing at least equivalent to a standard hardback!
“I see,” she mumbled, as much to herself as me. “I understand now …”
The baroness removed her palms from the table.
She stood up straight, a hard expression upon her face. One which calculated with each passing moment the optimal way to exploit this devastating information.
Then, she took in a deep breath–just as I began assembling the playing cards into a thick pile.
“… it must be a legendary artifact.”
As I began eyeing her temple … I blinked in non-understanding.
“Excuse me?”
She nodded, her frown harsh enough to permanently crease her skin.
“To wear such a plain, ugly and shameful ring … one which utterly demeans your history, your worth and your pride, destroying any semblance of dignity you possess–”
My hand went to my stomach, struck by as much pain as Coppelia had experienced in a single moment.
“–indeed, to wear a ring so easily mistaken as one belonging to adventurers, the vermin of the world … it must be a truly terrifying artifact.”
I blinked.
And then–
“Ohhho … ohoohho! You … You see the truth of it!”
The baroness squeezed her fists by her side.
“I knew it.”
I nodded, my bangs bouncing against my forehead.
“I-Indeed … ! This ring I carry on me … it is a masterful item of supreme quality, passed down along generations of my family! Why, its appearance matching those of rings worn by adventurers is no coincidence! Theirs are based on this very design! Although they have since tarnished it, it was forged back in the first days of the kingdom when copper was greater than gold! Poured within it is knowledge now lost to time! A power beyond compare, called upon from the depths of the Royal Vault!”
The baroness sucked in a hateful breath.
“Then that explains it,” she said with bitterness ringing throughout her voice. “You were able to defeat such a powerful adversary through the use of your family’s ancient heirlooms.”
“Indeed, this powerful ring with a rare ability I cannot disclose defeated a terrifying farmer! Therefore, there’s no need for you to relay any suggestion that I’m anything but a princess, as far removed from the Adventurer’s Guild as hygiene is to their members!”
The baroness gave no response.
A respite which lasted far too short.
“... I see, then it means the plan continues. Different, yes. But I’ll not be deterred.”
She smiled, the familiar sight of aristocratic opportunism mixed with an utter denial of facts shining within her grey eyes.
I could only react with horror.
“Plan?” I replied, convinced she was well and truly several sandwiches short of a picnic. “Do you mean the plan currently lying in a fallen heap beside us? Did you not just say I defeated your farmer? Your only plan now is to decide which part of the ground you wish to offer your forehead to.”
The baroness shook her head with renewed confidence.
“I think not. To defeat Willem of Hagel, you must have expended every effort you had available. Not a crumb of power could be spared, for to underestimate him would have resulted in your certain loss. Meaning …”
Without hesitation, she gave a multipurpose wave of her hand.
“... You’ve nothing left but a sword you cannot wield, and two retainers against all of mine. One of whom is incapacitated. The other a maid.”
She continued to keep her hand raised. Her simple call to arms.
It took several moments before she cared to even look around her.
A sad thing.
If she had, she would have realised the curiosity of her hoodlums was less than their prudence.
She would have noticed the eyes without loyalty, seeing only the fallen figure of a drunk they’d been led to believe was more than a farmer now watering the ground with his drool.
And she would have noticed the state of her dress, as dishevelled as her ambitions as those she relied upon slinked away in search of newer gutters to inhabit, following instincts she could learn as the last of their feet shuffled into the darkness.
The baroness paled.
It was far too early for that. She had no idea Apple was currently resting in her tavern, and wouldn’t be helping her haul all of the goods which needed delivering to a place less damp than here.
But I could sooth her forthcoming backache with a smile, at least for the assistance already provided.
“You have my gratitude,” I said, brushing a speck of … countryside from my lap. “For so long as the nobility continues to concoct slapdash schemes with no hope of success, the kingdom can continue to assign blame on you when all else goes wrong. When the mobs come calling and heads start rolling, it ensures a steady queue of necks can be offered before ours are reached. That is why the nobility continues to exist, you see, despite the ceaseless treason. So allow me to offer a word of advice when next you wish to survive in a position of responsibility. When fleeing, the best defence isn’t to run faster–it’s to trip the person beside you. And this means better hiring practices.”
I glanced pointedly around me.
All this empty space and not even a single eyepatched second-in-command to use as a distraction? An amateur mistake. One the baroness now realised as her mouth opened wordlessly, the realisation of her solitude only now dawning upon her.
Yet all it invited was a newly wrought defiance.
“I do not mean to flee,” she said, her fists tightly clenched. “I am Arisa Sandholt. And even should I be captured here, you would not be afforded a night’s rest. I am not alone. Whether tonight or tomorrow, this kingdom will fall. I am not alone in planning its demise.”
I rolled my eyes.
“Oh, please. Planning my kingdom’s demise is what everyone does.”
“What?”
“If it’s not being actively planned, it’s because someone’s in the middle of planning how to formulate a plan. And then once they’ve finished planning, they wonder why their plan didn’t work as planned. This is not a cause for concern. It’s a sign the world is still spinning the correct direction.”
The baroness feigned a dignified silence.
It was far too late, of course. By default, nobility had no dignity.
Still, I accepted the effort, and filled the silence with a tidy clap of my hands.
“Now, since you’ve no intention of fleeing, you can be useful instead. I’ll require a full inventory of your stock. I intend to requisition every single item you have in your possession. Every grain. Every crown. And every odd piece of tableware, carpet, candleholder and painting you might have.”
I pointed at the barn. A tragic thing to requisition. But if I was fortunate, it’d grow lacquered tiles and bay windows in the short steps between here and there.
Suddenly, the baroness’s eyes widened. The needless defiance dropped alarmingly from her face.
“Wait … what do you mean by that?”
I paused for a moment, puzzled by her reaction.
This was hardly the complicated part.
“I mean exactly what I mean. This should come as no surprise. I will be emptying every corner of the property you’ve misappropriated, including whatever manner of tunnels you’ve carved for your use. Rest assured, I’ll be employing the talents of my retainers extensively. With or without your cooperation, every single inch of your abode will be inspected by myself for the Royal Treasury’s benefit.”
She blinked between Renise and Coppelia. Although one was dressed as a maid and the other now appeared to be napping on the ground, their skills when it came to matters of unearthing valuables in my kingdom’s underbelly was not one I doubted.
Nor, from the way the baroness gulped, did she.
“I can do it,” she said suddenly.
I looked at her in confusion, uncertain what ploy this was.
“... Excuse me? Do what?”
“The items of value. I can bring them out. There’s no need to personally see to such a thing yourself.”
“While I’m in full agreement, I can hardly trust your reliability in this manner. And besides, I’ll hardly be playing the mule. I shall be supervising while closely assessing every item.”
Once more, the tonsils came out.
An appalling disregard of decorum. There was only one time that nobility was permitted to look so horrified in my presence. And that’s if they were copying my own after I discovered a list of marriage suitors posing as a napkin beneath the dessert spoon again.
“E-Even so … as the one who wronged you, I insist on not troubling a princess any further. If you give me a few moments, I can acquire the most important valuables for you in a fraction of the time you’d spend on finding them.”
“A few moments to hide them, you mean. No, I’m afraid that anything you wish to stuff beneath a floorboard will need to be appropriately examined first.”
I leaned away in mild alarm as a bead of sweat ran down the baroness’s face.
A moment later–
She finally did what only someone in her position could.
Adhering to the instincts of all nobility, she swept up her dress and suddenly dashed away.
Except it wasn’t towards the dark forest, to be lost amidst the shadows and the jaws of whatever awaited her there. It was back towards the barn.
I watched as she stumbled several times before even reaching the steps.
“... A desperate sight, no?” I said, with a sad shake of my head. “To throw away all semblance of the image she’d hoped to craft. Now she flees like a frightened towngirl. She should know that escape is now impossible.”
Beside me, Renise let out a hum.
Far from chasing after the baroness, she collected the pack of cards I’d assembled for memory wiping purposes. She began to build a house of cards.
I looked at her in puzzlement. She gave a strangely pained smile in reply.
“I believe we can offer her a few moments.”
[<< First] [< Previous] [Next >] [Patreon] [Discord]
submitted by kayenano to HFY [link] [comments]


2024.05.14 12:02 KingAroan [Help] - External monitors not recognized in Wayland or X11 after upgrade

Please help, I upadated yesterday and running on Manjaro, looks like they released some of the KDE upgrades, but I have no external monitors showing anymore. Currently on Plasman 6.0.4, KDE framework 6.1.0, Qt 6.7.0 and Kernel 6.9.0.1-MANJARO. I do not have an Nvidia GPU but using an intel iGPU inside a Dell Latitude 5520. I originally thought it was my Dock that was messed up so I ordered a new one (it has been working flawlessly for years) today, I decided to dig in a little bit more while I wait for the new dock and it turns out that Wayland just isn't seeing the external monitors. I found an HDMI and plugged directly from the laptop to the monitor, bypassing the dock, and still no display. The monitor will even flicker on and say no output when I plug it in, so the display sees something but not getting the output and the laptop isn't seeing anything.
As far as error messages, I am not getting anything in dmesg, I watched it as I plugged in the monitor directly and unplugged again and nothing. This is the only errors I have in the journal but they don't appear to be for the monitor:
May 14 10:46:41 redacted kwin_wayland[4513]: kf.svg: The theme "Sweet" uses the legacy metadata.desktop. Consider contacting the author and asking them update it to use the newer JSON format. May 14 10:46:45 redacted plasmashell[4702]: KPackageStructure of KPluginMetaData(pluginId:"org.kde.plasma.simplemenu", fileName: "/usshare/plasma/plasmoids/org.kde.plasma.simplemenu/metadata.json") doe> May 14 10:46:46 redacted systemd[4438]: Started Display Configuration. May 14 10:46:46 redacted kded6[4665]: org.kde.plasma.appmenu: Got an error May 14 10:46:46 redacted kded6[4665]: org.kde.plasma.appmenu: Got an error May 14 10:46:47 redacted systemsettings[10617]: file:///uslib/qt6/qml/org/kde/kirigami/Dialog.qml:334:18: QML ScrollView: Binding loop detected for property "calculatedImplicitWidth" May 14 10:46:47 redacted systemsettings[10617]: qrc:/kcm/kcm_kscreen/main.qml:39:5: QML OverlaySheet: Binding loop detected for property "implicitHeight" May 14 10:46:47 redacted systemsettings[10617]: qrc:/kcm/kcm_kscreen/main.qml:39:5: QML OverlaySheet: Binding loop detected for property "implicitHeight" May 14 10:46:47 redacted systemsettings[10617]: qrc:/qt/qml/org/kde/systemsettings/CategoryItem.qml:33:13: Unable to assign IconPropertiesGroup_QMLTYPE_76 to IconPropertiesGroup_QMLTYPE_76 May 14 10:46:47 redacted systemsettings[10617]: qrc:/qt/qml/org/kde/systemsettings/CategoryItem.qml:33:13: Unable to assign IconPropertiesGroup_QMLTYPE_76 to IconPropertiesGroup_QMLTYPE_76 May 14 10:46:47 redacted systemsettings[10617]: qrc:/kcm/kcm_kscreen/main.qml:39:5: QML OverlaySheet: Binding loop detected for property "implicitWidth" 
I am going crazy and tried to revert back to X11 but the monitors don't work. I can actually see them when running xrandr but the system settings won't allow me to enable them again. I am not sure how to fix this.
I have tried installing drivers again, and removing all mentions of Nvidia (originally the laptop had an Nvidia GPU but the SSD was transferred to this host, it has worked for well over a year though.
Any help the community could provide would be really appreciated.
submitted by KingAroan to kde [link] [comments]


2024.05.14 08:10 SolarSolutionCompany What Is The Power Output Of A Solar Panel

Solar panels are marvels of modern engineering, silently transforming sunlight into usable electricity. But what exactly is the power output of a solar panel? How much energy can you realistically expect from these sleek, sun-soaking rectangles?
This comprehensive guide will demystify solar panel power output, explaining the key concepts, influencing factors, and how it translates to meeting your energy demands.

Watts and Kilowatts: The Language of Solar Power

Like light bulbs, solar panels are rated in watts (W). This measurement indicates their maximum power production under ideal conditions, known as peak sun.

Standard Solar Panel Wattage

Modern residential solar panelstypically range from 250 to 450 watts per panel. This means a single panel could power several small appliances or a significant portion of a larger one. However, most homes need multiple panels to cover their entire energy needs.

Factors Affecting Solar Panel Output

The power output of a solar panel isn't static; it's influenced by several factors:

From Watts to Kilowatt-Hours: Your Solar Energy Production

The amount of electricity your solar panels generate over time is measured in kilowatt-hours (kWh). This is the unit you see on your electricity bill.
To estimate your annual production, consider:

  1. Your System Size: The total wattage of all your panels combined (e.g., a 6 kW system has 6,000 watts).
  2. Peak Sun Hours: The average daily hours of direct sunlight in your location.
  3. Panel Efficiency: This will vary based on the specific model.
A solar professional can provide a more accurate estimate tailored to your location and system.

Matching Output to Your Needs

The goal is to match your solar panel system's output to your home's energy consumption. Factors to consider include:

FAQs

Read more: The Best Time to Install Solar Panels: A Strategic Guide for Savings and Sunshine

Conclusion

Understanding solar panel power output is key to making informed decisions about your renewable energy journey. With the right knowledge and guidance, you can harness the sun's power to significantly reduce or eliminate your reliance on the grid, save money, and contribute to a cleaner environment.
submitted by SolarSolutionCompany to u/SolarSolutionCompany [link] [comments]


2024.05.14 05:34 RobotDragon0 PIC24: Trouble with converting between TMR value and seconds

https://imgur.com/a/Rx27Qga
I am having difficulty using the HC-SR04 ultrasonic sensor. This is the datasheet I have been referring to: https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR04.pdf
As directed by the data sheet, I have been sending 10uS pulses to the trigger pin in order to get a response on the echo pin that can be used to determine the distance between an object and the sensor.
Additionally, according to the datasheet as well as the below Arduino code from Git, in order to determine the number of centimeters between an object and the sensor, you take the duration of the pulse on the echo pin and divide by 58: https://github.com/JRodrigoTech/Ultrasonic-HC-SR04/blob/masteUltrasonic/Ultrasonic.cpp
Now, here is the issue I am having. I do not know how to convert the values in TMRx to real time values (seconds). My method is using the input capture peripheral and configuring it to use Timer 3, and I record values whenever there is a change on the echo pin.
As the code shows, the formula I use to get the real time is time = (finalTime - currTime)*(Prescalar)/(frequency) where PRvalue = 65535, frequency = 16MHz, and Prescalar = 256. However, the real time value I always end up with is 0. From the screenshot in the imgur image, it seems like the result is always 0 because currTime and finalTime are always close to each other, and I cannot represent very small numbers because of the limited number of bits used to represent values.
What is the issue here? As the Imgur link shows, my sensor is sending back signals after I set a 10uS pulse on trigger, and when putting a breakpoint in my input capture ISR, the program correctly stops inside of it. That means this isnt a hardware issue but instead an issue with how I am calculating time.
Here is the minimally working example of my code:
#include "xc.h" #include  bool stopMotion = 0; volatile unsigned long int currTime = 0; volatile unsigned long int finalTime = 0; volatile unsigned long int overflowtmr = 0; volatile unsigned long int distanceThreshold = 1; void setup(){ CLKDIVbits.RCDIV = 0; TRISBbits.TRISB4 = 1; //input for echo TRISBbits.TRISB5 = 0; //output for trig LATBbits.LATB5 = 0; //IC1 setup IC1CONbits.ICTMR = 0; //timer 3 IC1CONbits.ICM = 1; //PPS for IC1 __builtin_write_OSCCONL(OSCCON & 0xbf);// unlock PPS RPINR7bits.IC1R = 4; // RP4 (pin 11) __builtin_write_OSCCONL(OSCCON 0x40); // lock PPS T3CON = 0; TMR3 = 0; T3CONbits.TCKPS = 3; _T3IF = 0; PR3 = 65535; T3CONbits.TON = 1; IFS0bits.T3IF = 0; IEC0bits.T3IE = 1; IPC2bits.T3IP = 5; IFS0bits.IC1IF = 0; IEC0bits.IC1IE = 1; IPC0bits.IC1IP = 5; } void __attribute__((interrupt, auto_psv)) _IC1Interrupt(){ IFS0bits.IC1IF = 0; if(PORTBbits.RB4 == 1){ currTime = TMR3 + 65536*overflowtmr; } else{ finalTime = TMR3 + 65536*overflowtmr; overflowtmr = 0; TMR3 = 0; finalTime = (finalTime - currTime)*(256)/(16000000); volatile unsigned long int distance = finalTime/58; if(distance <= distanceThreshold) stopMotion = 1; else stopMotion = 0; } } void __attribute__((interrupt, auto_psv)) _T3Interrupt(){ IFS0bits.T3IF = 0; overflowtmr++; } void delay_ms(unsigned int ms){ while(ms-- > 0){ asm("repeat #15999"); asm("nop"); } } void delay_10us(void){ int i = 10; while(i-- > 0){ asm("repeat #3"); asm("nop"); } } void sendTrig(){ LATBbits.LATB5 = 1; delay_10us(); LATBbits.LATB5 = 0; } int main(void) { setup(); while(1){ sendTrig(); delay_ms(2000); } } 
Edit: Updated code:
#include "xc.h" #include  bool stopMotion = 0; volatile double finalTime = 0; volatile unsigned long int overflowtmr = 0; volatile unsigned long int distanceThreshold = 1; void setup(){ CLKDIVbits.RCDIV = 0; TRISBbits.TRISB4 = 1; //input for echo TRISBbits.TRISB5 = 0; //output for trig LATBbits.LATB5 = 0; //IC1 setup IC1CONbits.ICTMR = 0; //timer 3 IC1CONbits.ICM = 1; //PPS for IC1 __builtin_write_OSCCONL(OSCCON & 0xbf);// unlock PPS RPINR7bits.IC1R = 4; // RP4 (pin 11) __builtin_write_OSCCONL(OSCCON 0x40); // lock PPS T3CON = 0; TMR3 = 0; T3CONbits.TCKPS = 3; _T3IF = 0; PR3 = 65535; T3CONbits.TON = 1; IFS0bits.T3IF = 0; IEC0bits.T3IE = 1; IPC2bits.T3IP = 3; IFS0bits.IC1IF = 0; IEC0bits.IC1IE = 1; IPC0bits.IC1IP = 3; //TIMER1 setup T1CON = 0; TMR1 = 0; T1CONbits.TCKPS = 0; _T1IF = 0; PR1 = 160; //for a delay of 10uS T1CONbits.TON = 0; IFS0bits.T1IF = 0; IEC0bits.T1IE = 1; IPC0bits.T1IP = 5; //higher priority than the input capture interrupt } void __attribute__((interrupt, auto_psv)) _IC1Interrupt(){ IFS0bits.IC1IF = 0; if(PORTBbits.RB4 == 1){ TMR3 = 0; } else{ finalTime = (double)(TMR3) + 65536*overflowtmr; overflowtmr = 0; TMR3 = 0; finalTime = (finalTime)*(256)/(16000000); double distance = finalTime/58; if(distance <= distanceThreshold) stopMotion = 1; else stopMotion = 0; } } void __attribute__((interrupt, auto_psv)) _T3Interrupt(){ IFS0bits.T3IF = 0; overflowtmr++; } void __attribute__((interrupt, auto_psv)) _T1Interrupt(){ _T1IF = 0; LATBbits.LATB5 = 0; } void sendTrig(){ LATBbits.LATB5 = 1; T1CONbits.TON = 1; } int main(void) { setup(); while(1){ sendTrig(); } } 
Edit: Updated code for calculating distance by using time in units of a 10th of a nanosecond:
#include "xc.h" #include  bool stopMotion = 0; volatile uint32_t finalTime = 0; volatile int overflowtmr = 0; int distanceThreshold = 1; void setup(){ CLKDIVbits.RCDIV = 0; TRISBbits.TRISB4 = 1; //input for echo TRISBbits.TRISB5 = 0; //output for trig LATBbits.LATB5 = 0; //IC1 setup IC1CONbits.ICTMR = 0; //timer 3 IC1CONbits.ICM = 1; //PPS for IC1 __builtin_write_OSCCONL(OSCCON & 0xbf);// unlock PPS RPINR7bits.IC1R = 4; // RP4 (pin 11) __builtin_write_OSCCONL(OSCCON 0x40); // lock PPS T3CON = 0; TMR3 = 0; T3CONbits.TCKPS = 0; _T3IF = 0; //a prescaler of 1 for TMR3 PR3 = 65535; T3CONbits.TON = 1; IFS0bits.T3IF = 0; IEC0bits.T3IE = 1; IPC2bits.T3IP = 3; IFS0bits.IC1IF = 0; IEC0bits.IC1IE = 1; IPC0bits.IC1IP = 3; //TIMER1 setup T1CON = 0; TMR1 = 0; T1CONbits.TCKPS = 0; _T1IF = 0; PR1 = 160; //for a delay of 10uS T1CONbits.TON = 0; IFS0bits.T1IF = 0; IEC0bits.T1IE = 1; IPC0bits.T1IP = 5; //higher priority than the input capture interrupt } void __attribute__((interrupt, auto_psv)) _IC1Interrupt(){ IFS0bits.IC1IF = 0; if(PORTBbits.RB4 == 1){ //reset both TMR3 and overflowtmr TMR3 = 0; overflowtmr = 0; } else{ finalTime = (TMR3)*625 + overflowtmr*625*65536; overflowtmr = 0; TMR3 = 0; uint16_t distance = finalTime/((58)*(10000/10)); if(distance <= distanceThreshold) stopMotion = 1; else stopMotion = 0; } } void __attribute__((interrupt, auto_psv)) _T3Interrupt(){ IFS0bits.T3IF = 0; overflowtmr++; } void __attribute__((interrupt, auto_psv)) _T1Interrupt(){ _T1IF = 0; LATBbits.LATB5 = 0; } void sendTrig(){ LATBbits.LATB5 = 1; T1CONbits.TON = 1; } void delay_ms(unsigned int ms){ while(ms-- > 0){ asm("repeat #15999"); asm("nop"); } } int main(void) { setup(); while(1){ sendTrig(); delay_ms(2000); //delay for 2 seconds before sending another trig signal. } } 
submitted by RobotDragon0 to embedded [link] [comments]


2024.05.14 01:19 Hardyskater26 Issue importing in popular NYC airbnb Dataset into SQL table

I'm doing a data based project to showcase skills and understanding of core SQL concepts. I initially created a table and had it include datatypes like INT, VARCHAR, SMALLINT, DECIMAL etc... I ensured they were the appropriate type for the different fields of the dataset which were either int64, float64, or object. However upon importing in the table and adjusting datatypes and their sizes nothing really worked and I got errors that would reference the same few rows a lot. I eventually found a table design that works and accepts in all the data.
CREATE TABLE raw_data.original_data (
id INT PRIMARY KEY,
[name] NVARCHAR(MAX),
[host_id] NVARCHAR(MAX),
[host_name] NVARCHAR(MAX),
neighbourhood_group NVARCHAR(150),
neighbourhood NVARCHAR(50),
latitude NVARCHAR(50),
longitude NVARCHAR(50),
room_type NVARCHAR(50),
price NVARCHAR(50),
minimum_nights NVARCHAR(150),
number_of_reviews NVARCHAR(150),
last_review NVARCHAR(50),
reviews_per_month NVARCHAR(50),
calculated_host_listings_count NVARCHAR(50),
availability_365 NVARCHAR(50)
);
Has anyone worked with the dataset on SQL Server SSMS 20 and has been able to come up with a table design that uses more datatypes and successfully imports in every row?
submitted by Hardyskater26 to SQL [link] [comments]


2024.05.13 16:15 Cool-Chocolate3193 Intersecting driving routes

I need to determine whether multiple driving routes (calculated by starting point and ending point) cross a specific line (represented by Latitude/longitude coordinates) And I need each driving route to get an indication separately, whether it crosses that line or not
I have found a file that allows me to calculate driving distance between two points - https://www.labnol.org/google-maps-sheets-200817
Now I would like to determine whether they cross the specific line, any help? 🙏🏽
submitted by Cool-Chocolate3193 to googlesheets [link] [comments]


2024.05.12 08:48 rbaleksandar Unable to fix invalid value for glBufferSubData() call in OpenGL (Python)

Goal: load multiple meshes in a single VBO (vertices), CBO (colors) and IBO (indices), leave a specific set of those untouched while iteratively replacing the rest.
Approach: Currently I have a single mesh (an OBJ file containing a cube with 8 vertices and 12 primitives as faces) that I load using `PyWavefront`. I then calculate my buffers to contain 10 cubes. Using PyGame I detect a key press input from the user and call an update on all 3 buffers (for the CBO I even change the color in order to see a visual change).
Code:
import pygame from pathlib import Path from pygame.locals import * from import * from import shaders import numpy as np import pywavefront from math import sin, cos, tan, atan2 def calcFrustumScale(fFovDeg): degToRad = np.pi * 2.0 / 360.0 fFovRad = fFovDeg * degToRad return 1.0 / tan(fFovRad / 2.0) def calcLerpFactor(fElapsedTime, fLoopDuration): fValue = (fElapsedTime % fLoopDuration) / fLoopDuration if fValue > 0.5: fValue = 1.0 - fValue return fValue * 2.0 def computeAngleRad(fElapsedTime, fLoopDuration): fScale = np.pi * 2.0 / fLoopDuration fCurrTimeThroughLoop = fElapsedTime % fLoopDuration return fCurrTimeThroughLoop * fScale def load_model(single_model_path: Path, color: np.array = np.array([*np.random.uniform(0.0, 1.0, 3), 1.0], dtype='float32')): scene = pywavefront.Wavefront(single_model_path, collect_faces=True) model = { 'vertex' : np.array(scene.vertices, dtype='float32'), 'face' : np.array(scene.mesh_list[0].faces, dtype='uint32') } model['color'] = np.full((len(model['vertex']), 4), color, dtype='float32') return model def get_size(model: dict, stype: str='vertex'): items = model[stype] #return items.size * items.itemsize return items.nbytes def get_transform(elapsed_time): angle_rad = computeAngleRad(elapsed_time, 2.0) _cos = cos(angle_rad) _sin = sin(angle_rad) transform = np.identity(4, dtype='float32') transform[0][0] = _cos transform[2][0] = _sin transform[0][2] = -_sin transform[2][2] = _cos # offset transform[0][3] = 0.0 #-5.0 transform[1][3] = 0.0 #5.0 transform[2][3] = -5 return transform # ======================================================= color_rnd = np.array([*np.random.uniform(0.0, 1.0, 3), 1.0], dtype='float32') print(color_rnd) modelToCameraMatrixUnif = None cameraToClipMatrixUnif = None # Global display variables cameraToClipMatrix = np.zeros((4,4), dtype='float32') fFrustumScale = calcFrustumScale(45.0) model = load_model('sample0.obj') update_enabled = False print('Model vertex bytesize:\t', get_size(model, 'vertex')) print('Model face bytesize: \t', get_size(model, 'face')) print('Model color bytesize: \t', get_size(model, 'color')) CUBES_COUNT = 10 VBO_BUFFER_SIZE = CUBES_COUNT * get_size(model, 'vertex') VBO_SUB_BUFFER_SIZE = get_size(model, 'vertex') print('VBO total bytesize:', VBO_BUFFER_SIZE) IBO_BUFFER_SIZE = CUBES_COUNT * get_size(model, 'face') IBO_SUB_BUFFER_SIZE = get_size(model, 'face') print('IBO total bytesize:', IBO_BUFFER_SIZE) CBO_BUFFER_SIZE = CUBES_COUNT * get_size(model, 'color') CBO_SUB_BUFFER_SIZE = get_size(model, 'color') print('CBO total bytesize:', CBO_BUFFER_SIZE) UPDATE_INTERVAL = 10 # Time interval between updates (in frames) vertex_shader = ''' #version 330 layout(location = 0) in vec4 position; layout(location = 1) in vec4 color; smooth out vec4 theColor; uniform mat4 cameraToClipMatrix; uniform mat4 modelToCameraMatrix; void main() { vec4 cameraPos = modelToCameraMatrix * position; gl_Position = cameraToClipMatrix * cameraPos; theColor = color; } ''' fragment_shader = ''' #version 330 smooth in vec4 theColor; out vec4 outputColor; void main() { outputColor = theColor; } ''' vbo = None cbo = None ibo = None vao = None program = None def initialize(): global model global vbo, cbo, ibo, vao global program global modelToCameraMatrixUnif, cameraToClipMatrixUnif, cameraToClipMatrix pygame.init() display = (800, 800) pygame.display.set_mode(display, DOUBLEBUF OPENGL) vertex_shader_id = shaders.compileShader(vertex_shader, GL_VERTEX_SHADER) fragment_shader_id = shaders.compileShader(fragment_shader, GL_FRAGMENT_SHADER) program = shaders.compileProgram(vertex_shader_id, fragment_shader_id) glUseProgram(program) glEnable(GL_CULL_FACE) glCullFace(GL_BACK) glFrontFace(GL_CW) glEnable(GL_DEPTH_TEST) glDepthMask(GL_TRUE) glDepthFunc(GL_LEQUAL) glDepthRange(0.0, 1.0) modelToCameraMatrixUnif = glGetUniformLocation(program, "modelToCameraMatrix") cameraToClipMatrixUnif = glGetUniformLocation(program, "cameraToClipMatrix") fzNear = 1.0 fzFar = 100.0 # Note that this and the transformation matrix below are both # ROW-MAJOR ordered. Thus, it is necessary to pass a transpose # of the matrix to the glUniform assignment function. cameraToClipMatrix[0][0] = fFrustumScale cameraToClipMatrix[1][1] = fFrustumScale cameraToClipMatrix[2][2] = (fzFar + fzNear) / (fzNear - fzFar) cameraToClipMatrix[2][3] = -1.0 cameraToClipMatrix[3][2] = (2 * fzFar * fzNear) / (fzNear - fzFar) glUseProgram(program) glUniformMatrix4fv(cameraToClipMatrixUnif, 1, GL_FALSE, cameraToClipMatrix.transpose()) glUseProgram(0) vbo = glGenBuffers(1) glBindBuffer(GL_ARRAY_BUFFER, vbo) glBufferData( GL_ARRAY_BUFFER, model['vertex'].flatten(), GL_STATIC_DRAW ) glBindBuffer(GL_ARRAY_BUFFER, 0) cbo = glGenBuffers(1) glBindBuffer(GL_ARRAY_BUFFER, cbo) glBufferData( GL_ARRAY_BUFFER, model['color'].flatten(), GL_STATIC_DRAW ) glBindBuffer(GL_ARRAY_BUFFER, 0) ibo = glGenBuffers(1) glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ibo) glBufferData( GL_ELEMENT_ARRAY_BUFFER, model['face'].flatten(), GL_STATIC_DRAW ) glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0) vao = glGenVertexArrays(1) glBindVertexArray(vao) vertex_dim = model['vertex'].shape[1] glBindBuffer(GL_ARRAY_BUFFER, vbo) glEnableVertexAttribArray(0) glVertexAttribPointer(0, vertex_dim, GL_FLOAT, GL_FALSE, 0, None) color_dim = model['color'].shape[1] glBindBuffer(GL_ARRAY_BUFFER, cbo) glEnableVertexAttribArray(1) glVertexAttribPointer(1, color_dim, GL_FLOAT, GL_FALSE, 0, None) glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ibo) glBindVertexArray(0) def update_vbo(offset_prev, offset_curr): global vbo global model print('(VBO) Removing data at ({}:{})'.format(offset_prev, offset_prev + VBO_SUB_BUFFER_SIZE)) print('(VBO) Adding data at ({}:{})'.format(offset_curr, offset_curr + VBO_SUB_BUFFER_SIZE)) glBindBuffer(GL_ARRAY_BUFFER, vbo) glBufferSubData(GL_ARRAY_BUFFER, offset_prev, VBO_SUB_BUFFER_SIZE, None) glBufferSubData(GL_ARRAY_BUFFER, offset_curr, VBO_SUB_BUFFER_SIZE, model['vertex'].flatten()) #glBufferSubData(GL_ARRAY_BUFFER, 0, VBO_SUB_BUFFER_SIZE, model['vertex'].flatten()) glBindBuffer(GL_ARRAY_BUFFER, 0) def update_cbo(offset_prev, offset_curr, color: np.array = np.array([*np.random.uniform(0.0, 1.0, 3), 1.0], dtype='float32')): global cbo global model model['color'] = np.full((len(model['vertex']), 4), color, dtype='float32') print('(CBO) Removing data at ({}:{})'.format(offset_prev, offset_prev + CBO_SUB_BUFFER_SIZE)) print('(CBO) Adding data at ({}:{})'.format(offset_curr, offset_curr + CBO_SUB_BUFFER_SIZE)) glBindBuffer(GL_ARRAY_BUFFER, cbo) glBufferSubData(GL_ARRAY_BUFFER, offset_prev, CBO_SUB_BUFFER_SIZE, None) glBufferSubData(GL_ARRAY_BUFFER, offset_curr, CBO_SUB_BUFFER_SIZE, model['color'].flatten()) #glBufferSubData(GL_ARRAY_BUFFER, 0, CBO_SUB_BUFFER_SIZE, model['color'].flatten()) glBindBuffer(GL_ARRAY_BUFFER, 0) def update_ibo(offset_prev, offset_curr): global ibo global model print('(IBO) Removing data at ({}:{})'.format(offset_prev, offset_prev + IBO_SUB_BUFFER_SIZE)) print('(IBO) Adding data at ({}:{})'.format(offset_curr, offset_curr + IBO_SUB_BUFFER_SIZE)) glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ibo) glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, offset_prev, IBO_SUB_BUFFER_SIZE, None) glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, offset_curr, IBO_SUB_BUFFER_SIZE, model['face'].flatten()) #glBufferSubData(GL_ELEMENT_ARRAY_BUFFER, 0, IBO_SUB_BUFFER_SIZE, model['face'].flatten()) glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0) def render(): global vao, model global modelToCameraMatrixUnif glClearColor(0.0, 0.0, 0.0, 0.0) glClearDepth(1.0) glClear(GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT) glUseProgram(program) elapsed_time = pygame.time.get_ticks() / 1000.0 transform_func = get_transform transformMatrix = transform_func(elapsed_time=elapsed_time) glUniformMatrix4fv(modelToCameraMatrixUnif, 1, GL_FALSE, transformMatrix.transpose()) glBindVertexArray(vao) index_count = model['face'].size glDrawElements(GL_TRIANGLES, index_count, GL_UNSIGNED_INT, None) glBindVertexArray(0) pygame.display.flip() def main(): global update_enabled initialize() frame_count = 0 offsets = { 'vbo' : { 'prev' : 0, 'curr' : 0 }, 'cbo' : { 'prev' : 0, 'curr' : 0 }, 'ibo' : { 'prev' : 0, 'curr' : 0 } } while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() quit() if event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: pygame.quit() quit() if event.key == pygame.K_u: update_enabled = not update_enabled if update_enabled: print('Update triggered') if update_enabled: # and frame_count % UPDATE_INTERVAL == 0: idx = 3 offsets['vbo']['curr'] = idx * VBO_SUB_BUFFER_SIZE) update_vbo(offsets['vbo']['prev'], offsets['vbo']['curr']) offsets['vbo']['prev'] = offsets['vbo']['curr'] offsets['cbo']['curr'] = idx * CBO_SUB_BUFFER_SIZE color = np.array([*np.random.uniform(0.0, 1.0, 3), 1.0], dtype='float32') update_cbo(offsets['cbo']['prev'], offsets['cbo']['curr'], color) offsets['cbo']['prev'] = offsets['cbo']['curr'] offsets['ibo']['curr'] = idx * IBO_SUB_BUFFER_SIZE update_ibo(offsets['ibo']['prev'], offsets['ibo']['curr']) offsets['ibo']['prev'] = offsets['ibo']['curr'] update_enabled = False render() frame_count += 1 if __name__ == '__main__': main()OpenGL.GLOpenGL.GL 
According to the PyOpenGL documentation my call of glBufferSubData() should be correct. My print statement give me:
Model vertex bytesize: 96 Model face bytesize: 144 Model color bytesize: 128 VBO total bytesize: 960 IBO total bytesize: 1440 CBO total bytesize: 1280 
which is correct. After all my cube has e.g. 8 faces, each with 3 float32 (4 bytes à piece) components, so 8*3*4 = 96.
However, the very first call (here to update the VBO), leads to error:
raise self._errorClass( OpenGL.error.GLError: GLError( err = 1281, description = b'invalid value', baseOperation = glBufferSubData, pyArgs = ( GL_ARRAY_BUFFER, 768, 96, array([ 1., 1., -1., 1., -1., -1., 1., 1., 1., 1., -1., 1., -1., 1., -1., -1., -1., -1., -1., 1., 1...., ), cArgs = ( GL_ARRAY_BUFFER, 768, 96, array([ 1., 1., -1., 1., -1., -1., 1., 1., 1., 1., -1., 1., -1., 1., -1., -1., -1., -1., -1., 1., 1...., ), cArguments = ( GL_ARRAY_BUFFER, 768, 96, array([ 1., 1., -1., 1., -1., -1., 1., 1., 1., 1., -1., 1., -1., 1., -1., -1., -1., -1., -1., 1., 1...., ) ) 
The invalid value error is related to incorrect offset or offset + size. I cannot see any issue with the data portion of the call since the that is the same data I use to fill my buffer at the beginning and it renders perfectly fine. Perhaps my logic for calculating the offsets for the colors and indices is incorrect but at least the VBO should work. Each sub-data chunk (representing the respective components - vertices, colors or indices) can be accessed by a given IDX multiplied by the respective sub-data byte size. This allows me to access all three types of data for the same object I want to render. If the IDX is anything but 0, my code crashes with the above mentioned error.
submitted by rbaleksandar to opengl [link] [comments]


2024.05.12 05:17 Ihruoan My former Soldier lost his CAB paperwork and it never made it into iPerms before the IPPS-A transition

Went to Afghanistan in '19-- got our CABs back in late 2020 in a batch. I personally saw to it that our HQ processed those badbois. It was five of us. Love the guy, but he didn't download his badge orders and they never made it into his iPerms.
He has records of it being populated on his ERB/SRB at one point or another.
Kind of concerned because he is on his way out soon, and there's a bit of latitude/benefit of the doubt the VA gives dudes with CIBs/CABs/CMBs/CARs.
My dipshits idea is to aggregate the badge orders from the other guys to try to triangulate the order number. We also have approved foreign decorations from the same incident (Foreign equivalent of one, but I know there isn't international reciprocity with this kinda shit)
What do now?
I'll have a beefy 5-layer, four soft tacos, and a crunch wrap. Thanks.
submitted by Ihruoan to army [link] [comments]


2024.05.12 02:32 Atoraxic "Gang Stalking: Real-Life Harassment or Textbook Paranoia". Idiocy or Calculated Disinformation

Dr. Pierres "Gang Stalking: Real-Life Harassment or Textbook Paranoia". Idiocy or Calculated Disinformation?
​Dr. Pierre's first blog post on "gangstalking" is an easily recognized disinformation campaign designed to influence public opinion that these vile crimes are not happening and all these victims are suffering from delusions. Lets look at how he attempts to disinform his readers. Lets start with the title.
Gang Stalking: Real-Life Harassment or Textbook Paranoia?​
At first it seems like a legitimate question, but in reality he created a false dilemma, a manipulation technique that presents us with a false premise right off the bat.
Disinformation is best dealt with the truth, So I'm just going to shell his bullshit dead with truth.. Dr. Pierre is well versed in disinformation as he is featured on this Cambridge Disinformation Summit webinar. The Cambridge Disinformation Summit is attempting to draw different disciplines together to combat disinformations current power to influence and manipulate us. Dr Pierre puts forth that "the antidote" to "bullshit thinking" is "analytical thinking." Lets see if his technique works against his disinformation.
An early goal of MKULTRA was to identify techniques to publicly discredit people. Modern technologically makes it possible to expand the original goals on a massive scale.
From the original mk documents this has been identified as a goal of one of its sub projects.
Discovery or the following materials and methods: that will promote illogical thinking and impulsiveness to the point where the receiver would be discredited in public, increase the frequency of mentaion and perception, prevent or counteract the effects of alcohol, promote signs and symptoms of recognized diseases in a reversible way so they can be used for malingering and produce physical disablement like paralysis.
p9 Lineville 4-26-2016 Project MKULTRA and the Search for Mind Control: Clandestine Use of LSD Within the CIA Tani M. Linville Cedarville University, tanilinville@cedarville.edu
A false dilemma is textbook illogical thinking.
Here is a link to Dr. Pierre's first article.
Gang Stalking: Real-Life Harassment or Textbook Paranoia?
Part 1: The paranoid reality of "targeted individuals."📷 www.psychologytoday.com
Reports of “gang stalking" (a.k.a. "gang-stalking" or "gangstalking") began emerging at least 15 years ago..
Poisoner in Chief: Sidney Gottlieb and the CIA Search for Mind Control is a 2019 book by The New York Times journalist and historian[1] Stephen Kinzer. I repeatedly details how when eventually questioned by the US Congress and others Sydney Gottlieb and other conspirators stated they did such heinous disturbing acts because they were extremely fearful the Russians and Chinese would master "mind control" first, thus winning the Cold War. They used fear to justify torturing, completely and permanently devastating and destroying the minds and lives of innocent victims while also murdering, after torture, many enemy captives.
The attack on 911 may be what sparked the new chapter in this fraudulent pseudoscience criminal torturous failed vile bullshit.
There is no justification for unjustifiable actions.
by self-described “targeted individuals” (“T.I.s”) claiming to be followed, surveilled, harassed, and otherwise victimized by unknown forces wielding high-tech weapons of “mind control.” Since then, much more has been written about this phenomenon, especially over the past few years, with national attention devoted to a few notable cases of violence and mass shootings perpetrated by people identifying as T.I.s.1
What we see here is the introduction to his disinformation. It identifies the targets to be discredited. Targeted Individuals, high tech weapons of mind control, notable cases of violence and mass shootings perpetrated by people identifying as T.I.s, as well as the growing number mainstream and highly respected journalism pieces that have come out exposing it while giving sympathy and empathy to its victims.
Dr. Pierre's first article is a great example of discrediting at work. Discrediting uses psychological techniques to manipulate peoples thoughts and opinions on targeted topics. A powerful discrediting technique is to mix completely unbelievable claims with the legitimate ones targeted to be discredited.
Discrediting is simple and can be accomplished in multiple ways. You can manipulate the victims themselves to make statements that are clearly unbelievable (more about how this is done later), conspirators in this crime can pretend to be victims and post ridiculous claims, conspirators can create cheesy unbelievable websites that promote wholly unbelievable conspiracies along side real ones targeted and they employ legitimate trained professionals and journalists to publish media that promotes the desired public opinion. Or you can just blog I guess.
As its name states, MK's primary goal is mind control. If you believe that this program is not possible or is not currently operating due to associated unbelievable claims that are impossible.. congratulations you have been mind controlled. You need to distinguish between fact and fiction
This blog post uses language that has been intentionally highly biased. TI's, gangstalking, mind control and M2K to name a few. My suggestion is that victims consider dropping some of these terms. Language is so significant, it's how we think, mentally define and examine our experiences, it defines our personal realities and it can be manipulated. Biasing language is a very powerful technique to manipulate people that are exposed to it. These terms have been intentionally biased with unbelievable conspiracy and mental health accusations. My take is drop their biased language.

What Is Biased Language?

Biased language refers to words and phrases that are prejudiced, offensive, and hurtful. An explanation and examples show how to avoid such language.📷 www.thoughtco.com We are not individuals who are targeted, we are torture victims. We are not being gang stalked, we are victims of long running organized crime who's forefathers are Nazi pigs, Japanese war criminals, and Chinese political brain washing.
Its not harassment, its hard core covert torture.
Disinformation is used to purposefully manipulate public opinion. In this case it's an attempt at damage control. When they get caught, the world will know they are monsters. No one will be on their side, not even the other monsters. So they will do anything to discredit victims and accounts of the horror, misery and torture that they are doing.
By way of summary, T.I.s typically describe living in a state of constant fear, seeing evidence of being followed by unmarked police cars in every black SUV that drives by, of being zapped by “extremely low-frequency” (ELF) radiation or “Voice to Skull” (V2K) technology in every tingling sensation or bodily ache, and of malevolent intentions in other people’s every gesture.
The false dilemma offers harassment or delusion as explanations.
This manipulation attempts to minimize the fact that it is major hard core psychological and significant physical torture, it goes on relentlessly, interminably for fucking years and is committed against innocent civilians including children. Thats 24/7 for years and is intended to force a victim "to a state a state of antagonistic estrangement. He is not totally estranged from the environment, because even antagonism is a form of contact; but he is totally cut off from the essential succor of affectionate communication and relatedness, without which he can not survive. And at the same time his increasing self betrayal, sense of guilt, and loss of identity all join to estrange him from himself- or at least the self he has known. He contemplates the future with only hopelessness and dread. Literally and emotionally there seems to be no escape from this hermetically-sealed antagonism. As the assaults continue, and as they turn inward, he begins to experience one of the most primitive and painful emotions known to man, the fear of total annihilation.".. "This is the point where mental and physical interrogations break down. Some prisoners may be brought by their severe anxiety and depression to the point of suicidal preoccupations and attempts." (Lifton p70)
Victims face near constant torture, manipulation, sexual assault and harassment for very long periods. This is delivered verbally and physically; its delivered sonically and covertly. Its meant to utterly break you, destroy your identity, beliefs and obliterate your life. Conclusion of a never ending hell.
This causes a sustained inescapable hardcore traumatic experience. The delusions are a symptom, not the cause and harassment is the understatement of the century.
Prolonged trauma, from extreme periods of torture and harassment, results in paranoia, delusion, isolating and much more. Obviously, because of the heinous nature of these crimes they use an extremely covert delivery method. Victims often attribute it to RF or ELF and infrasound. Infrasound is almost impossible to shield from and currently very difficult to locate random small sources. It sure as fuck hurts and its sure as fuck make you sore as hell, after a couple days of infrasound physical torture you feel like you just climbed a 14 teener or unloaded three semi trailers solo or played a tournament of full check hockey. With repeated torture sessions the effects get worse.
Prolonged unavoidable unexplainable trauma and resultant PTSD can cause people to experience hypervigilance or even paranoia. Trauma requires the victim address the situation and deal with it. Being the victim of continuiose severe harassment and tourture will make anyone paranoid. A victim of MK is can't explain the unjust random trauma, but we are naturally compelled to do so. Paranoia is the result. Suggestion from the internet or the verbal assault can lead to paranoid delusions that are common among victims. When you are tortured constantly for no obsternable reason by covert means a victims mind is driven to and ultimately needs to make sense of what's happening to them.
Its trauma resolution and resolution of a very difficult problem easily leads to delusion. Dr. Pierre is well aware of this and presents his first reason for delusional beliefs as the psychological "need for certainty, control, closure." Victims psychologically need and are relentlessly driven to figure out the "who" and "why" and "how" these never-ending horrible crimes are being done to them. With the high tech covert torture of innocent civilians there are not a lot of logical reasons and this opens the doors to delusions and delusional implant as victims require the "certainty, control, closure" that any explanation provides. (31:26 CDS)
The resultant trauma induced delusions are a defense mechanism victims adopt or create to protect themselves from the brutal, continuous, unbearable, inescapable, inhumane and almost unendurable experience that is done to us.
2.2. Delusions as a shear pin​ According to the “shear-pin” account developed by McKay and Dennett (2009), some false beliefs that help manage negative emotions and avoid low self-esteem and depression can count as psychologically adaptive. McKay and Dennett suggest that, in situations of extreme stress, motivational influences are allowed to intervene in the process of belief evaluation, causing a breakage. Although the breakage is bad news epistemically, as the result is that people come to believe what they desire to be true and not what they have evidence for, it is not an evolutionary “mistake”, rather it is designed to avoid breakages that would have worse consequences for the person’s self-esteem and wellbeing. What might count as a doxastic analogue of shear pin breakage? We envision doxastic shear pins as components of belief evaluation machinery that are “designed” to break in situations of extreme psychological stress (analogous to the mechanical overload that breaks a shear pin or the power surge that blows a fuse). Perhaps the normal function (both normatively and statistically construed) of such components would be to constrain the influence of motivational processes on belief formation. Breakage of such components, therefore, might permit the formation and maintenance of comforting misbeliefs – beliefs that would ordinarily be rejected as ungrounded, but that would facilitate the negotiation of overwhelming circumstances (perhaps by enabling the management of powerful negative emotions) and that would thus be adaptive in such extraordinary circumstances. 📷The epistemic innocence of motivated delusions Delusions are defined as irrational beliefs that compromise good functioning. However, in the empirical literature, delusions have been found to have …📷 www.sciencedirect.comClick to expand...

Population vs. Sample Definitions, Differences & Examples

A population is the entire group that you want to draw conclusions about. A sample is the specific group that you will collect data from. The size of the📷 www.scribbr.com Duhh..
And victims with a higher resistance to "mind control" will appear quite normal, while victims devastatingly effected will elicit the tragic symptoms of this totally inhumane and unethical horror they are assaulted with. Also, people suffering from medical conditions, but who are not victims, will be included in unfiltered data. You have to figure out what is and what is not real.
But why is this going on all around the planet? Turns out trauma is very cultural and what is traumatic in culture A can be quite different from what is traumatic in culture B. I think they want to make sure they are the biggest piles of dog shit in every culture.
and of malevolent intentions in other people’s every gesture.
This symptom comes from the prolonged trauma. This reports on findings for victims of trauma after the fact. Because sustained severe trauma , that is continuously forced for years, hasn't been studied by any ethical scientist we have to settle for these humane results.*
📷

Paranoia and post-traumatic stress disorder in the months after a physical assault: a longitudinal study examining shared and differential predictors Psychological Medicine Cambridge Core

Paranoia and post-traumatic stress disorder in the months after a physical assault: a longitudinal study examining shared and differential predictors - Volume 43 Issue 12📷 www.cambridge.org *unethical, nazi pig psyco fuctard want 2 bees can refer to their own personal notes
For example, the “who” is variably attributed to neighbors, ex-boyfriends, employers, police, and other law enforcement agencies, “the financial elite,” or less conventional sources, like Freemasons and space aliens. The “why” is often attributed to retaliation for ending relationships, acting as whistleblowers at work, political activism, having run-ins with the law, or being privy to secret information.
These are all attempts to begin to resolve the trauma. The interface also promotes the need to resolve the trauma by repeatedly triggering the victim with statements like "I can't believed you don't know who is doing this to you", "How is this even possible" and "why is this being done to you." The interface mixes in delusional suggestions to answer these questions. The real reason this is being done to them is they fit a profile that fulfills a part of a sample population created to reflect society as a whole and thats it. There are a few exceptions, but thats very rare.
If a delusional implant takes hold, then the more illogical the better for discrediting their reports. If they adopt the delusion its law enforcement then they are much less likely to report and seek help with them and this benefits the criminals.
Seemingly motiveless harassment is chalked up to being hapless victims of experimentation by government agencies testing new techniques of surveillance or mind control.
This is what it is, it may be private sector but its roots are in the government agencies thats work is kept secret and its motivation is the remote thought reform, brainwashing and control of individual victims.
If there’s a common thread to the accounts of gang stalking, it’s that T.I.s describe considerable suffering not only as a result of ongoing concerns about being harassed, but also from the experience of physical symptoms, like pain and “hearing voices,” and the significant social stigma associated with sharing their claims with family, friends, or mental health professionals who routinely dismiss them as “crazy.” As a result, T.I.s have found solace on the internet, where they share "war stories" and survival strategies with like-minded individuals who have similarly found themselves at the center of a vast conspiracy theory.
This is all true for once. People facing a common enemy or struggle often congregate together as in the 12 step groups. When you look at the devious nature of what we face its easy to see why its difficult to share with some people with out them being totally fooled by this program as thats what its designed to do.
And yes, a few real events in history, such as the CIA’s MK-Ultra “mind control” program and the FBI’s COINTELPRO surveillance program of the 1950s, have occurred, just as the modern-day mass manipulation of human behavior through social media is a reality in which we all now live.
This is the rebooted MK program, if it ever went away at all. Thats a fact.
But if you aren’t personally experiencing gang stalking, it’s hard for an outsider, much less a psychiatrist, to accept it as anything other than a textbook example of paranoia. Indeed, that’s been the conclusion of the few mental health researchers that have examined gang stalking to date. In 2006, Dr. Vaughn Bell and colleagues published an analysis of 10 online accounts of “mind control experiences” consistent with gang stalking (though they didn’t mention that word explicitly).2 When assessed by three independent psychiatrists, all of the accounts were classified as consistent with the evidence of a psychotic disorder
You have to stop trying to use the psychotic effects of severe trauma to discount that the trauma is happening.
n 2015, Drs. Lorraine Sheridan and David James conducted an analysis of 128 responses to a survey about stalking that similarly concluded that 100 percent of cases involving gang stalking by multiple coordinated individuals reflected paranoid delusions (in contrast, only 4 percent of those reporting stalking by a single individual were deemed to be delusional).3 In both of these studies, gang stalking claims were attributed to paranoia because they defied credulity, often due to the sheer amount of resources or level of coordinated organization that would be necessary to carry out what was claimed.
The need for sustained unexplainable trauma resolution creates a dynamic for delusion and easily accepted suggested delusion.
As a psychiatrist, it’s nearly impossible to disagree with those conclusions. Delusions are defined in psychiatry as “fixed, false beliefs,” with paranoia representing a classic version in which one believes they’re being followed, harassed, or otherwise persecuted. Vigilance—keeping an eye out for and being generally wary of potential threats—is normal and can transform into exaggerated hypervigilance under various conditions, such as having been an actual victim of violence. At the extreme, full-blown paranoia of delusional intensity can be understood as that same evolutionary warning system gone completely awry, to the point of seeing the evidence and believing that such threats are almost everywhere.
This was already explained, but to recap never-ending unresolvable trauma causes paranoia, hyper vigilance and leaves victims very vulnerable to delusion.
But digging deeper tells a different story. Many T.I.s report concerns not only about gang stalking but other common symptoms of mental illness, such as auditory hallucinations or voice-hearing and even less plausible beliefs, such as having “implants” inside their bodies that can control their thoughts or that people have been replaced by aliens. But even those with “pure” paranoia appear to display textbook examples of delusional thinking.
already explained. Victims have tried to explain how the tech works and years back implants could have been part of the solution, but now of course with the advent of technology in the civilian world victims recognize that no implant is needed to track someone.
First, there’s the unbelievably vast extent of what’s claimed… fleets of black SUVs with tinted windows, persecutors in disguise on every street corner, and futuristic secret technology being deployed from God knows where. Second, there’s a lack of any obvious or credible motive for the persecution…
Here he is giving a dose of the discrediting. The SUV are paranoia from the trauma. The tech is real.. and lol I don't think god has figured out where its coming from yet. It comes from speakers and an infrasonic microphone array and sound source triangulation software should solve this one finally.
futuristic secret technology being deployed from God knows where.
Nothing unbelievable about about "futuristic secret technology". It comes from infrasonic speakers or generators and infrasonic microphone array should easily triangulate the location of the sources.
… why would the CIA be devoting considerable resources to keep an “average Joe” under constant surveillance for years on end (note that paranoia and grandiosity—an exaggerated sense of self-importance—often go hand-in-hand)?
The surveillance is automated and done by a computer. No person is watching it all day. Certain thoughts and behaviors are tagged and logged for analysis if desired. This is clear as times you can do a certain behavior or think a certain thought and Alice will always make the same specific comment, indicating a grouping by the system.. you can sit there and just play with it entering in different thoughts and pay attention to its response. Its response is often a simple abusive statement the always conforms to the input groups.
As we are average joes.. and that goes for pretty much everyone on this planet. So what we all do and think is really pretty generic and boring in the end. Complete removal of privacy is very traumatic to victims as humans see privacy as a human right. Adopting grandiose delusions as reasoning why this is happening is a psychological defense mechanism to the trauma. In the end we are just a sample population for a inhuman unethical study of thought reform, behavior modification and attempted remote enslavement of innocent people. The real grandiosity is in the over educated narcissistic psycopath delusional criminals mascaraing scientists who have and are participating in this disgusting utter failure.
Third, the persecutory experiences continue regardless of attempts to escape or relocate
Escapable trauma wouldn't seem so hopeless nor tend to cause helplessness. They do have to relocate equipment when a victim moves or flees. So often times the torment is significantly reduced right after a move. They say this is a reward for moving, but its just the time it takes them to get equipment to the new location. It took them almost 6 weeks when I last jumped states. Well It is government work.
The current version of MK is confusing and thats the way its intended and designed. Once you figure it out its not all that complicated.
You have to figure out whats real and whats not.
submitted by Atoraxic to Overt_Podcast [link] [comments]


2024.05.11 22:05 Hel-Low5302 Really high Total Negative Slack

I'm a beginner in FPGA programming and I'm trying to implement a noise filter in Verilog on Vivado. Right now my project has really high TNS (around -25000 ns). I'm trying to run around 100 kHz by doing calculations every 1024 clock cycles with a 125 MHz clock (code below). I understand that my calculations take too long for a clock cycle, but when I lower the clock frequency (e.g. by doing calculations at every 2048 clock cycles) the TNS gets higher. I tried setting a multicycle path but that did not change anything. I cannot redistribute my calculations to separate "always" blocks because all variables are dependent on the previous one, so they need to be evaluated sequentially.
I'm hesitant to lower the actual clock frequency because I'm modifying one of Anton Potočnik's projects and changing the clock frequency introduces a bunch of complications and warnings, and also the lowest frequency clock I can create on Vivado is 10 MHz so I would have to manually decrease the frequency in code by doing calculations at every n cycles anyway. Does anyone have any suggestions on how I can solve this issue?
Here is my code (full code here):
always @ (posedge clk) begin if ((counter%1024) == 0) begin //counter counts all clock cycles starting from 0, it doesn't reset counter_eq_1024 <= 1'b1; end else begin counter_eq_1024 <= 1'b0; end end always@(posedge clk) begin (* multicycle = "1024" *) if (counter_eq_1024) begin // decimation factor is 1024 y = y_measured; u = -omega*T_s*k_omega*y; K_next = (phi*phi*e_pre_var + d_var)/(phi*phi*e_pre_var + d_var + s_var); x_curr = (1-K_next)*x_next + K_next*y; // estimate the current state x_next = phi*x_curr + u; // predict the next state e_next_var = (1-K_next)*(1-K_next)*(phi*phi*e_pre_var + d_var) + K_next*K_next*s_var; end end 
https://preview.redd.it/d6pniuw8uuzc1.png?width=1606&format=png&auto=webp&s=b209b8ad1ce8b39c497dcce33ef9e4ef3df9e9c7
https://preview.redd.it/4ocrirw8uuzc1.png?width=1472&format=png&auto=webp&s=03f17043aae17dbe84d56e2746205293935852f4
submitted by Hel-Low5302 to FPGA [link] [comments]


2024.05.11 13:31 devoid0101 New Kp-like planetary geomagnetic activity indices: Hourly (Hp60) and half-hourly (Hp30) indices

New Kp-like planetary geomagnetic activity indices: Hourly (Hp60) and half-hourly (Hp30) indices
It looks like we touched upon KP11, a G6 storm (if such a thing existed). Serious solarmax spaceweather
“The geomagnetic Hpo index is a Kp-like index with a time resolution of half an hour, called Hp30, and one hour, called Hp60. besides that, the Hpo index is not capped at 9 like Kp, but is an open ended index that describes the strongest geomagnetic storms more nuanced than the three-hourly Kp, which is limited to the maximum value of 9. Next to the Hpo we also provide the linear apo index (ap30 and ap60). The Hpo index was developed in the H2020 project SWAMI and is described in Yamazaki et al (2022).
Abstract The geomagnetic activity index Kp is widely used but is restricted by low time resolution (3-hourly) and an upper limit. To address this, new geomagnetic activity indices, Hpo, are introduced. Similar to Kp, Hpo expresses the level of planetary geomagnetic activity in units of thirds (0o, 0+, 1−, 1o, 1+, 2−, …) based on the magnitude of geomagnetic disturbances observed at subauroral observatories. Hpo has a higher time resolution than Kp. 30-min (Hp30) and 60-min (Hp60) indices are produced. The frequency distribution of Hpo is designed to be similar to that of Kp so that Hpo may be used as a higher time-resolution alternative to Kp. Unlike Kp, which is capped at 9o, Hpo is an open-ended index and thus can characterize severe geomagnetic storms more accurately. Hp30, Hp60 and corresponding linearly scaled ap30 and ap60 are available, in near real time, at the GFZ website (https://www.gfz-potsdam.de/en/hpo-index).
Key Points New Kp-like planetary geomagnetic activity indices, Hpo, are presented
Hourly (Hp60) and half-hourly (Hp30) indices are available from GFZ website
Hpo indices are open-ended without the upper limit at 9o
Plain Language Summary The geomagnetic activity index Kp is a measure of planetary geomagnetic activity, expressed in units of thirds (0o, 0+, 1−, 1o, 1+, 2−, …9o). Kp is widely used in the space physics community, as it is known to be a good proxy of the solar-wind energy input into the magnetosphere-ionosphere-thermosphere system. Kp has two important limitations. One is the temporal resolution. Kp is a three-hourly index, so that temporal features within 3 hr are not resolved. The other is the upper limit of the index. Kp does not exceed a maximum value of 9o, so that under extremely disturbed conditions, geomagnetic activity is not accurately represented. We introduce a group of new geomagnetic activity indices Hpo that overcomes these limitations. Hpo is designed to represent planetary geomagnetic activity in a similar way as Kp but with higher temporal resolution and without the upper limit at 9o. This paper describes the production of 30-min (Hp30) and 60-min (Hp60) indices, and demonstrates their properties in comparison with Kp. Hpo indices since 1995, including near-real-time values, are distributed through the GFZ website (https://www.gfz-potsdam.de/en/hpo-index).
1 Introduction Variations in the solar wind cause changes in electric currents that flow in the magnetosphere and ionosphere. The associated changes in the magnetic field can be observed using magnetometers on the ground. There exist various types of geomagnetic indices to monitor the intensity of geomagnetic disturbance associated with solar wind variations (Mayaud, 1980). The Kp index is one of the most widely used indices of geomagnetic activity. The derivation, application and historical background of Kp are detailed in Matzka, Stolle, et al. (2021), and thus are described here only briefly.
Kp is derived from K indices (Bartels et al., 1939) evaluated at 13 subauroral observatories from both northern and southern hemispheres. A K index expresses geomagnetic activity on a scale of 0–9 at each observatory for a given 3-hourly interval of the UT day (00–03, 03–06, …, 21–24 UT). It is based on the range of geomagnetic disturbance over the 3-hourly interval, which may contain geomagnetic pulsations (McPherron, 2005; Saito, 1969), bays associated with substorms (McPherron, 1970; Lyons, 1996), sudden storm commencements and sudden impulses (Araki, 1994), geomagnetic storm main phase (Gonzalez et al., 1994) and solar-flare and eclipse effects (Yamazaki & Maute, 2017). K is designed to have a similar frequency distribution regardless of observatory, and thus it does not depend on latitude. K indices are converted to standardized Ks indices, which take into account the influence of seasonal and UT biases. Kp is the average of the 13 Ks indices expressed in units of thirds (0o, 0+, 1−, 1o, 1+, 2−, …, 9o), thus it represents planetary, rather than local, geomagnetic activity. The complete time series of the definitive Kp index since 1932 and nowcast indices for the most recent hours are available from the Kp website at Deutsches GeoForschungsZentrum GFZ (https://www.gfz-potsdam.de/en/kp-index/) with a digital object identifier (DOI; Matzka, Bronkalla, et al., 2021). Real-time Kp forecasts (Shprits et al., 2019) based on solar wind data are also available from the GFZ website (https://spaceweather.gfz-potsdam.de/products-data/forecasts/kp-index-forecast).
The Kp index has a wide range of applications in space physics studies. For example, Kp can be used to select undisturbed data from the measurements obtained from the magnetosphere, ionosphere or thermosphere to determine their climatological base states (e.g., Drob et al., 2015; Fejer et al., 2008). Kp is also often used for modeling the geospace response to solar wind variations. Just to give a few examples, Kp is used to drive the 3-D Versatile Electron Radiation Belt model (Subbotin et al., 2011), the Whole Atmosphere Community Climate Model with thermosphere and ionosphere extension (WACCM-X; Liu et al., 2018) and the Naval Research Laboratory Mass Spectrometer Incoherent Scatter radar empirical atmospheric model (Emmert et al., 2021), among many other models of the magnetosphere, ionosphere and thermosphere. Thomsen (2004) argued that what makes Kp so useful is its sensitivity to the latitudinal distance from the Kp stations to the equatorial edge of auroral currents, which is tightly linked to the strength of magnetospheric convection.
Kp has two important limitations. One is the temporal resolution. Kp cannot resolve temporal features within 3 hr. For example, the onset of geomagnetic disturbance determined by Kp could be off from the actual onset by up to 3 hr. This could be an issue when Kp is used to drive a geospace model, because the state of the magnetosphere, ionosphere and thermosphere can change significantly within the 3-hr interval. As a compromise, some models use interpolated Kp values as input data, for example, thermospheric density models (Vallado & Finkleman, 2014), WACCM-X (Liu et al., 2018). The other limitation of Kp is its upper limit at 9o. Kp is not able to quantify geomagnetic activity after it reaches 9o. Extreme geomagnetic storms involving Kp = 9o are not necessarily equally strong in terms of geomagnetic disturbance. Extrapolated values of Kp above 9o are sometimes used for a better representation of geomagnetic activity during severe geomagnetic storms (e.g., Shprits et al., 2011).
The objective of this paper is to introduce a new group of Kp-like geomagnetic indices. The indices are collectively called Hpo, where “H” stands for half-hourly or hourly, “p” for planetary, and “o” for open-ended. Hpo has been conceived and developed under the EU Horizon 2020 project, Space Weather Atmosphere Model and Indices (SWAMI; Jackson et al., 2020). Hpo is designed to represent planetary geomagnetic activity in a similar manner as Kp but with higher time resolution and without an upper limit, to overcome the limitations of Kp described above. The derivation of 30-min (Hp30) and 60-min (Hp60) indices is outlined in Section 2, and their basic properties are described in Section 7.
2 Derivation of Hpo Hpo indices are derived using 1-min magnetic data from the same 13 subauroral observatories as Kp (see Section 2.2 of Matzka, Stolle, et al., 2021). Time series of Hpo starts from the year 1995, because 1-min digital data are not available from all the observatories before 1995. The procedure for deriving Hpo is similar to that for nowcast Kp described in Matzka, Stolle, et al. (2021), involving the steps described below.
2.1 Evaluation and Removal of Quiet Curve
Records of the geomagnetic field from a ground station contain regular quiet daily variation and geomagnetic disturbance (Chapman & Bartels, 1940). The estimation of the quiet curve for Hpo is based on the Finnish Meteorological Institute method (Sucksdorff et al., 1991), which uses 1-min data from the previous day, present day, and subsequent day. The quiet curve is obtained for the northward X and eastward Y components of the geomagnetic field, and subtracted from the corresponding data, which leaves geomagnetic disturbance.
2.2 Evaluation of the Magnitude of Geomagnetic Disturbance
The magnitude of geomagnetic disturbance is evaluated for every 30-min interval for Hp30 and 60-min interval for Hp60. For a given time interval, the range of geomagnetic disturbance (i.e., maximum minus minimum value) is compared with the maximum absolute value of geomagnetic disturbance, and the larger value of the two is adopted as the magnitude of geomagnetic disturbance. This contrasts with the derivation procedure for Kp, which always uses the range of geomagnetic disturbance. We found that this modification of the procedure improves the compatibility between Hpo and Kp. The magnitude of geomagnetic disturbance is obtained for the X and Y components, and the larger value is used in the next step.
2.3 Evaluation of H30 and H60 Indices
H30 and H60 indices are analogous to K indices for Kp, and are collectively called H herein. For the evaluation of K, an observatory-specific table is used for converting the magnitude of geomagnetic disturbance (in nT) to an integer K value (0–9). An example of the conversion table for the Niemegk observatory can be found in Table 1. New tables have been created for each observatory that convert the magnitude of geomagnetic disturbance to an H value (0–9). This was done, for each observatory, by generating a conversion table for H in such a manner that the frequency distribution of H is as similar as possible to the frequency distribution of K. The construction of the conversion tables for H is based on the geomagnetic data during 1995–2017, which were all the available data when the construction of Hpo was initiated. The conversion table for H30 and H60 for Niemegk is presented in Table 1. Furthermore, extended conversion tables are produced in order to allow H to go beyond 9. In the extended conversion tables, the maximum value of H is unlimited. The lower limit for H = 10 is given by the lower limit of H = 9 multiplied by a factor of 1.35. The lower limit of H = 11 is given by the lower limit of H = 10 multiplied by a factor of 1.30, and the lower limit of H = 12 is given by the lower limit of H = 11 multiplied by a factor of 1.20. For values of H greater than 12, the multiplication factor will be always 1.20, so that H can be defined no matter how large the magnitude of geomagnetic disturbance is. These multiplication factors were determined on a trial-and-error basis so that the behavior of the final Hpo index above 9o will be compatible with those of other open-ended indices (see Section 7).
Table 1. Lower Limits of H30, H60, and K for the Niemegk Observatory Index 0 1 2 3 4 5 6 7 8 9 H30 (nT) 0 2.16 4.46 8.89 17.9 33.9 65.7 119 190 267 H60 (nT) 0 2.97 6.11 12.1 24.3 44.7 82.7 144 218 337 K (nT) 0 5.00 10.0 20.0 40.0 70.0 120 200 330 500 2.4 Evaluation of Hp30 and Hp60 Indices
H indices are converted to standardized Hs indices using the same method for converting K to Ks. The conversion tables can be found in the Supporting Information of Matzka, Stolle, et al. (2021). The conversion of H to Hs minimizes the influence of seasonal and UT biases. Finally, the average of the 13 Hs indices is converted into Hpo values in units of thirds (0, 1/3, 2/3, 1, 4/3, 5/3, 2, …) in analog fashion as with the nowcast Kp (see Section 3.3 of Matzka, Stolle, et al., 2021) and expressed as (0o, 0+, 1−, 1o, 1+, 2−, …) following the convention for Kp. The Hpo value is derived using the H indices evaluated with the conversion tables capped at 9 (like the one shown in Table 1). If this initial Hpo value is 9o, all the H indices are re-evaluated using the extended conversion tables, in which H can go beyond 9, to re-calculate Hpo. This ensures that Hpo and Kp behave similarly up to 9− (and differently only at 9o and above).
Like Kp, Hpo indices are a quasi-logarithmic, rather than linear, measure of geomagnetic activity, and thus are not suitable for basic arithmetic operations such as addition and multiplication. To avoid this issue, linearly scaled ap30 and ap60 indices (collectively called apo) are produced for Hp30 and Hp60, respectively, by using the table that is used for producing ap from Kp (Matzka, Stolle, et al., 2021) but extending its higher end in a similar manner as the extension of H tables above 9. The relationship between Hpo and apo is illustrated in Figure 1a. Like ap, values of apo correspond to half the magnitude of geomagnetic disturbance at Niemegk.
Details are in the caption following the image Figure 1 Open in figure viewer PowerPoint (a) The relationship between Hpo and apo. (b–j) Frequency distributions of the occurrence of Kp, Hp60, and Hp30 values for different years. (k) Monthly mean values of ap, ap60, and ap30 during 1995–2020. The total sunspot number is also indicated.
Hp30 and Hp60, along with their corresponding ap30 and ap60, are archived since 1995 and available, in near real time, from the GFZ website (https://www.gfz-potsdam.de/en/hpo-index) with DOI (https://doi.org/10.5880/Hpo.0002) under the CC BY 4.0 license (Matzka et al., 2022, for data publication).
3 Some Properties of Hpo The frequency distributions of the occurrence of Hp30, Hp60, and Kp values are compared in Figures 1b–1j for every 3-year interval from 1995 to 2021. The distribution pattern of Kp is different in different solar cycle phases. For instance, during the solar minimum years 2007–2009 (Figure 1f) and 2019–2021 (Figure 1j), the occurrence rate of low Kp values (e.g., Kp ≤ 1o) is appreciably higher than during the solar maximum years 2001–2003 (Figure 1d) and 2013–2015 (Figure 1h). Hp30 and Hp60 reproduce different distribution patterns of Kp well, even for the later years not used in the construction of the conversion tables defining the H indices. The agreement of Hp30 and Hp60 with Kp during 2018–2021 (Figure 1j) suggests that the conversion tables for H indices are valid beyond the period 1995–2017.
The linearly scaled ap30 and ap60 indices are suitable for assessing average geomagnetic activity over a certain period. Monthly mean values of ap30 and ap60 are plotted in Figure 1k. They are in good agreement with monthly mean ap, showing 11-year solar-cycle variation. The sunspot number is also displayed in Figure 1k for comparison. Geomagnetic activity is known to be highest during the declining phase of solar cycle due to the effects of recurrent high speed solar wind streams (Lockwood et al., 1999).
In Figure 2, Hp30 (top), Hp60 (middle), and Kp (bottom) are compared with other geospace indices. The left panels show comparisons with Newell's coupling function (Newell et al., 2007), which is a measure of the energy input from the solar wind into the magnetosphere. The coupling function was derived using OMNI 5-min solar wind data (King & Papitashvili, 2005). Panels in the middle and right columns show comparisons with AE and PC indices, respectively. The AE index is a measure of auroral electrojet activity based on geomagnetic field measurements in the auroral region. The PC index represents geomagnetic activity in the polar region (Troshichev et al., 1988). Following Stauning (2007), the average of the PC indices from the northern (PCN) and southern (PCS) hemispheres were calculated using non-negative values. For comparisons with Hpo and Kp indices, 5-min solar wind data and 1-min AE and PC indices were averaged over every 30-min intervals. Hp60 and Kp are assumed to remain the same within their temporal windows. The solar wind data were shifted by 20 min to account for the delay due to energy transfer from the bow shock to the ionosphere (Manoj et al., 2008).
Details are in the caption following the image Figure 2 Open in figure viewer PowerPoint Dependence of (a–c) Hp30, (d–f) Hp60, and (g–i) Kp on (a, d, g) Newell's solar-wind coupling function, (b, e, h) AE index, and (c, f, i) PC index. For the PC index, the average of the northern (PCN) and southern (PCS) indices is used, considering only their positive values. In each panel, black dots indicate the average of the solar-wind coupling function, AE or PC index at each Hpo or Kp value (0o, 0+, 1−, …, 9−), with error bars representing the standard deviation and the green curve representing the best-fitting third-order polynomial function for Hpo or Kp below 9o. The gray dots in panels (a–f) are individual data points for Hpo ≥9o, and the yellow dot is their average value.
The solar-wind coupling function, AE and PC indices averaged at each value of Hpo and Kp from 0o to 9− are indicated in Figure 2 by black dots, with error bars representing the standard deviation. Curves in green show the best-fitting third-degree polynomial function for Hpo and Kp below 9o. The fitted curves for Hp30, Hp60, and Kp are similar to each other. The results suggest that for Hpo <9o, the dependence of Hp30 and Hp60 on the solar-wind coupling function, AE and PC indices is consistent with that of Kp. For Hpo ≥9o, the number of data points is rather small, and thus the average solar-wind coupling function, AE and PC indices were not calculated for each Hpo value. Instead, a single average value was derived using all the data corresponding to Hpo ≥9o (gray dots), which is indicated by the yellow dot in each panel of Figures 2a–2f. It is seen that the average value falls near the polynomial curve derived from the data for Hpo <9o. The results suggest that Hp30 and Hp60 can represent geomagnetic activity for Hpo ≥9o in the manner expected from their behavior for Hpo <9o.
The behavior of Hpo at its high end is further illustrated in Figure 3 based on five geomagnetic storm events. The selected geomagnetic storms are those in November 2003, March 2001, October 2003, November 2004, and July 2002, which are the five most intense geomagnetic storms during the period considered in this study (1995–2021) according to the minimum value of the Dst index. The left panels show time series of Hp30, Hp60, and Kp, as well as the Dst index, over a 7-day interval, in which the third day corresponds to the storm main phase. The temporal evolution of Kp is generally well captured by Hp30 and Hp60. Variations within 3 hr are seen in Hp30 and Hp60, which are not resolved by Kp. The maximum values of Hp30, Hp60, Kp, and the minimum value of Dst are (9−, 9−, 9−, and −422) for the November 2003 event, (10o, 10−, 9−, and −387) for the March 2001 event, (12−, 12−, 9o, and −383) for the October 2003 event, (11−, 9−, 9−, and −374) for the November 2004 event and (11o, 11o, 9o, and −300) for the July 2002 event. Thus, according to Hpo, the October 2003 event is the strongest among the five. Hpo ≥9o is seen mainly during the storm main phase, when the Dst index rapidly decreases. The right panels compare the 3-hourly mean of Hp30 (calculated from ap30) and Kp. The correlation is rather good; the correlation coefficient r is greater than 0.98 in all cases. Similarly good correlation is found for the comparison between 3-hourly mean of Hp60 and Kp (not shown here). These results suggest that Hpo can represent geomagnetic activity in a similar way as Kp even during the strongest geomagnetic storms.
Details are in the caption following the image Figure 3 Open in figure viewer PowerPoint (a, c, e, g, i) Time series of Kp, Hp60, Hp30, and Dst over a 7-day interval during strong geomagnetic storm events. Zero in the horizontal axis corresponds to 00 UT of the day with the storm main phase. (b, d, f, h, j) Comparison of Kp and three-hourly average of Hp30 during the strong geomagnetic storm events. The 3-hourly average of Hp30 is derived from the corresponding values of ap30. The correlation coefficient r is also indicated.
To provide some insight into variations of Hp30 and Hp60 within 3 hr, Figure 4 depicts the response of ap30, ap60, and ap to isolated substorms. The substorm onset list based on the technique described by Newell and Gjerloev (2011a) was obtained from the SuperMAG website (https://supermag.jhuapl.edu/). We selected isolated substorm events where there is no other substorm onset in the preceding 6 hr and following 12 hr. A total of 1947 isolated substorm events have been identified during 1995–2018. Figure 4a shows the variation of the AE index averaged over those substorm events. The average AE index peaks approximately 1 hr after the onset, and decays gradually to go back to the pre-onset level in 3–4 hr. The average ap30 and ap60 indices (Figures 4b and 4c) show the increase and decrease of geomagnetic activity that occur within 3 hr around the substorm onset. ap (Figure 4d) is not able to fully resolve such a short-term variation due to its low time resolution. The results suggest that variation of Hpo within 3 hr can contain physically meaningful information, which is not resolved by Kp.
Details are in the caption following the image Figure 4 Open in figure viewer PowerPoint Superposed epoch analysis of (a) AE, (b) ap30, (c) ap60, and (d) Kp over 1947 isolated substorm events identified during 1995–2018 based on the method of Newell and Gjerloev (2011a). Error bars represent the standard error of the mean. Zero in the horizontal axis corresponds to the substorm onset.
4 Summary and Outlook We have described a group of new open-ended geomagnetic activity indices Hpo. Hourly (Hp60) and half-hourly (Hp30) indices, along with their linearly scaled counterparts (ap30 and ap60), are available in near real time from the GFZ website (https://www.gfz-potsdam.de/en/hpo-index) with DOI (Matzka et al., 2022). Important properties of Hpo that are revealed by our initial analysis can be summarized as follows: The frequency distributions of the occurrence of Hp30 and Hp60 values are consistent with that of Kp at different phases of the solar cycle (Figures 1a–1i).
Month-to-month variations of Hp30 and Hp60 are consistent with that of Kp (Figure 1k).
The relationships between Hpo indices and Newell's solar wind coupling function, AE and PC indices are similar to those between Kp and these three quantities.
Hp30 and Hp60 can capture temporal variation of Kp during strong geomagnetic storm events (Figure 3).
Hp30 and Hp60 can reproduce short-term variation of geomagnetic activity within 3 hr associated with substorms (Figure 4).
These results demonstrate that Hpo can be used as a higher time-resolution alternative to Kp. Indeed, there are already a few studies that utilized Hpo for its advantage over Kp. Yamazaki et al. (2021) used Hp30 to select quiet-time measurements of the geomagnetic field from Swarm satellites. The orbital period of a Swarm satellite is approximately 90 min, thus using Hp30, geomagnetic activity can be evaluated for every one third of the orbit, while there is only one Kp value for every two orbits. The high-cadence output of Hpo enables a more accurate selection of quiet-time data than the three-hourly Kp index. Bruinsma and Boniface (2021) used Hp60 to drive a recent version of the Drag Temperature Model, DTM-2020, which is a semi-empirical model of the Earth's thermosphere, developed for orbit determination and prediction of spacecraft and debris. They showed that the use of Hpo leads to the improvement of the model compared with the predecessor model DTM-2013 (Bruinsma, 2015) that is driven by Kp. Similarly, Hpo may be used for improving other geospace models driven by Kp. Recalibration and validation are recommended when Hpo is used as an input for existing models that are parameterized with Kp.
submitted by devoid0101 to Heliobiology [link] [comments]


2024.05.11 08:46 Superb_Option_3148 Holy Trine🕉Moola Trikona

Holy Trine🕉Moola Trikona
The 1st, 5th, and 9th houses in a birth chart are considered the "holy trine" in Nadi astrology. These houses represent fundamental aspects of human existence:
1st House: Self, identity, physical body 5th House: Creativity, children, pleasure 9th House: Dharma (righteousness), father, long journeys, higher knowledge
Their strong placement in a birth chart is believed to be auspicious.
In the age-old wisdom of Nadi astrology, the 1st, 5th, and 9th houses are considered to be "MoolaTriKonam," prime and most pious, as well as an absolute necessity to sustain life in human form with an embodied body as a vehicle.
Vedanga Jyotish is from the Vedas, and the Vedic Gods, both in male as well as female archetypes, describe triplicity in a plethora of canons from Brahma, Vishnu, Maheshwar, etc...
Nine planets in Vedic astrology are assigned with three nakshatras each, and the formulation of Vimshottrai nakshatra dasha years allocation is done 3 * 120° = 360° zodiac.
Vimshottri Dasha timekeeping relies on Earth's rotation to determine the passage of time (hours, minutes, seconds). Historically, the Moon's phases were used for timekeeping. The synodic month (time between full moons) is a natural unit that many cultures observed. However, modern timekeeping primarily relies on the Earth's rotation on its axis, which is a more consistent and precise measurement. Time is calculated using the space between 🌎 & Moon basis Moon's route. In Vedanga Jyotish, time is nothing but the passage of Moon along the dynamic always in the move Rashi Mandalam ♈ to ♓.
Nakshatras and the Moon's Path: The concept of nakshatras as fixed positions along the ecliptic (Moon's apparent path) is accurate. From Earth's perspective, the Moon appears to traverse these constellation layers too, beneath the dynamic zodiac layer. Rashi Mandalam is the static Nakshatra Mandalam. The Moon's elliptical path does make the time it takes to cross each nakshatra vary slightly. Twenty-seven nakshatras from the Moon's elliptical path from the point of view of Earth, any given nakshatra runs 24-27½ hours. For our practical purposes, we are using a 24-hour uniform day basis, UTC. Using latitude & longitude from a given point on our planet 🌎, if we map the Moon using Vedanga Jyotish, the nakshatras are fixed; this layer doesn't move, but the Moon's elliptical path passing through, not in a uniform manner from Earth's point of view. Thus, Vimshottrai dasha system has unequal year allocation to planetary dasha: Ketu 7 years, Venus 20 years, Sun 6 years, Moon 10 years, Mars 7 years, Rahu 18 years, Guru 16 years, Shani 19 years, Mercury 17 years.
Ashwini - Beta Arietis, Bharani - 35 Arietis, Krittika - Pleiades (also known as the Seven Sisters or Messier 45), Rohini - Aldebaran (Alpha Tauri), Mrigashira - Lambda Orionis, Ardra - Betelgeuse (Alpha Orionis), Punarvasu - Castor (Alpha Geminorum), Pushya - Theta Cancri, Ashlesha - Epsilon Hydrae, Magha - Regulus (Alpha Leonis), Purva Phalguni - Delta Leonis, Uttara Phalguni - Beta Leonis, Hasta - Delta Corvi, Chitra - Spica (Alpha Virginis), Swati - Arcturus (Alpha Bootis), Vishakha - Alpha Librae, Anuradha - Delta Scorpii, Jyeshtha - Alpha Scorpionis, Mula - Lambda Scorpii, Purva Ashadha - Delta Sagittarii, Uttara Ashadha - Sigma Sagittarii, Shravana - Alpha Aquilae, Dhanishta - Alpha Delphini, Shatabhisha - Lambda Aquarii, Purva Bhadrapada - Alpha Pegasi, Uttara Bhadrapada - Gamma Pegasi, Revati - Zeta Piscium.
Here's where the logic gets a bit more complex: Vimshottri Dasha assigns varying lengths to planetary periods based on using latitude & longitude computing Moon position. We work our time in Earth-like ° ' ". Equal hours, minutes, seconds. So the point I am trying to underscore is if we compute from the Moon the distance using latitude and longitude of 27 nakshatras in our Milky Way from Earth's perspective, those emerging ° ' ", we get the logic behind Vimshottrai dasha splits duration in years. Here, if you can think in real-time of the Moon's position in the sidereal sky ° ‘ “ which is perceived as an elliptical clock for measurement 360° & this is what corresponds with HH:MM:SS with our human modern-day

submitted by Superb_Option_3148 to Vedanga_Nadi_Jyotish [link] [comments]


2024.05.11 00:36 Many-Director3375 Value changes if print() is called before return statetment

I'm using Polylabel library to calculate some map and coordinate related stuffs.
I have flutter code version 1 with print(center):
final PolylabelResult center = polylabel([centers]); print(center); // printed value = PolylabelResult(Point(48.958880595, -0.28536779505776355), distance: 0.0003213244381694669) return LatLng(center.point.x.toDouble(), center.point.y.toDouble()); 
Then the same flutter code version 2 without print():
final PolylabelResult center = polylabel([centers]); return LatLng(center.point.x.toDouble(), center.point.y.toDouble()); 
The value returned by version 1 is : LatLng(latitude:48.958881, longitude:-0.285368)
The value returned by version 2 is : LatLng(latitude:48.958881, longitude:-0.276522)
In Dart, is it normal behavior for double values to change depending of print() being called before a return statement ? Is there a way to always get the same value for the same input ? Regardless of print() being called.
submitted by Many-Director3375 to flutterhelp [link] [comments]


2024.05.10 02:13 Robd63 Horizontal Coriolis Misunderstanding

Have a new Kestrel I've been playing around with and I noticed something weird with the horizontal coriolis calculations. When I place latitude at 0 (sitting at the equator) regardless of my direction of fire, horizontal coriolis has zero value (0.00 mils), regardless of distance to target. In addition to this, when latitude is input correctly (for me 33 degrees) and I change my direction of fire to anything 0-360 degrees, the horizontal coriolis value stays the same (let's say 0.13 mils at 1500m), for example, at 1500m the HCor is 0.13 when my direction of fire is 0 deg, 45 deg, 90 deg, 180 deg, etc any value I input.
Either I have a fundamental misunderstanding of the horizontal component of coriolis or something is wrong. In my mind, if shooting at any latitude including the equator and my target is at 90 degrees due East or 270 degrees due West, HCor should be 0, and when facing due North or South (0 or 180 degrees) it will be at its max value based on the range to target. Any firing direction in between 0 and 90 degrees so say 45 degrees should spit out a number somewhere between 0 and the max value (in my example 0.13). But this isn't happening.
Out of curiosity I tried to do the same test with 4DOF on my phone, and while the coriolis effects aren't presented to you independently, I was able to find them by checking dope with "Earth based effects" turned on and off and comparing the values. Seems to give the same results as AB on my kestrel. That leads me to believe I have a misunderstanding of horizontal coriolis, and that the devices are correct.
My current understanding is as follows:
Vertical coriolis is due to the target "falling away" from your point of aim during bullet flight when facing East, and "Rising up" when compared to your point of aim when facing West due to the rotation of the earth. Vertical Coriolis effects seem to be working correctly and matching my understanding on my kestrel.
Horizontal coriolis is due to the lateral velocity your bullet and the shooter have relative to a distant target when facing N or S, for example if I stand on the equator and shoot a target on the north pole, my velocity to my right (relative to the stationary target) is the speed the Earth is spinning, the bullet maintains this velocity when fired causing the bullet to appear to veer to the right from my point of aim during the course of it's flight to the target. And vice versa, if I stand at the N pole and shoot a target on the equator, myself and thus the bullet leaving the muzzle have no horizontal vector to the bullet path, while the target on the equator is moving at the speed of the Earth's rotation to my perceived left, again causing the bullet to appear to veer right from my point of aim.
I would love to have someone explain to me what's going on here. Maybe I just have something weird input into my solvers causing these outputs, or maybe I just don't understand coriolis like I thought I did!
Thanks!
submitted by Robd63 to longrange [link] [comments]


2024.05.09 05:37 silentdawe01 AHK V1 Checksum Calculation XOR

Hey guys I need huge help. I have no Idea how to go about getting this fixed except trying to find something jeeswg has already done. I found nothing for XOR checksum though.
Ok here's my problem I'm trying to calculate the checksum of some bytes to be sent over the com port eventually. As an example we'll use 44066105A2 as the bytes to send and I need to calculate the XOR checksum which in this case is 84. So the whole message plus the checksum would be 44066105A284.
I've been using this site for the calculations https://www.scadacore.com/tools/programming-calculators/online-checksum-calculato The code below is what I've been working on. It seems to work but only for 3 bytes and I have no idea why.
I'm going to try to convert the string to binary and try to XOR that maybe.
``` NumpadAdd:: test2 := "440661" ; this returns a proper checksum for those bytes (23) ;test2 := "44066105A2" ; this does not work cs1 := 0 msglen := Floor(strlen(test2) / 2)
Loop, % msglen { currByte := substr(test2, A_Index * 2 -1 ,2)
cs1 ^= currByte 
} MsgBox % test2 " " cs1
return ```
submitted by silentdawe01 to AutoHotkey [link] [comments]


2024.05.08 14:21 Alexechr [Request] How fast would I need to travel north to keep the sun in the same place?

Hi!
So I sent this question in the Answer sub and got some answers but it ended in an average speed between two points on different latitudes. But I thought it would be cool if a graph showing the change in speed the further north you get was calculated. One of the persons that commented on my question said that I should send it in some kind of calculus sub so here it is.
I’m not used to flairs so I’m sorry if the one I placed was wrong and I’m also not used to this sub so I’m sorry if I did other stuff wrong. Please comment it in that case.
“So, I saw a question on how fast you would need to travel from west to east around the world to stay in the sunlight.
My question is, during the brightest day of the year in the northern hemisphere, during the sunset, how fast would I have to travel from the equator to the polar circle to keep the sun in sight?
This might be a really dumb question, so I’m sorry if it is. It just appeared in my head now when I was booking a train from the south to the north.
Thanks for answers and sorry for my English!
Edit: Changed North Pole to polar circle. Edit 2: Placed out some commas.
(And if people don’t understand the question, the further north you travel the longer the sun stays above the horizon until you hit the polar circle where the sun stays up for 24 hours at least one day a year(more days/time the closer you get to the pole) which theoretically would make it possible to go from the equator in a speed which would keep the sun above the horizon during your journey)”
Edit: I added the sorry part
submitted by Alexechr to calculus [link] [comments]


2024.05.08 08:15 car_civteach20 Trying to understand triangulation

Hi, this is not a homework problem, but I am trying to understand triangulation via a homework problem I found online. I could calculate the distances of the sides, but I am stumped now. How do I calculate the length OE? Assume there are no errors in angles.
https://preview.redd.it/plzb6tzu95zc1.png?width=764&format=png&auto=webp&s=cbd83d8b4ea84ca90e78bbfb9df6e30ac0666017
submitted by car_civteach20 to civilengineering [link] [comments]


2024.05.07 19:23 ConsciousRun6137 Missed or Dismissed

Missed or Dismissed
Well, quickly, here’s my story...
Archaeology fever first seized me at the age of ten. I was intrigued by British explorer Percy Fawcett's amazing trek into the Amazon jungle. After reporting his discovery of a dead, ancient, vine-choked city, he went back in... and vanished!
You know what? My first expedition was into that same unexplored region … where pygmies shrank human heads to the size of your fist!
https://preview.redd.it/odvg2u9nc1zc1.png?width=170&format=png&auto=webp&s=392096f851a2180ecba376981446009ab60f4691
This search for ancient mysteries was to take me through more than 30 countries.
Soon I began to stumble upon something that truly shocked me!... you would call them “out of place” artifacts. Did I say shocked? They blew me over! Because, according to what we were taught in school, these should never exist! And they weren’t just in one place. There was a global pattern to them.
his pattern showed a lost super science and technology. That’s when I knew someone had to speak up. I knew this content was of tremendous value.
For example:

EGYPT 2000 BC

Did you know that the Egyptians bored into granite rock with drills that turned 500 times faster than modern power drills?
And how about this?:
* Coin-slot machines * Steam engines * Speedometers * Machine-cut optical lenses * Screen projectors
Did you know that Egyptian dentists worked with cement fillings, dental bridges... and inserted artificial teeth?
That William Deiches found working diagrams in Tutankhamen's tomb (1545 BC) which helped him to build real model plane that flew?
That Egyptian doctors performed pregnancy tests, determined the sex of an unborn child, fed nourishment through tubes, and fitted artificial legs and hands? That they used anaesthetic and sophisticated instruments to perform bone and brain surgery?
What about old Egypt’s mysterious moving walls, automatically flashing lights and lamps that shone century after century, non-stop?
And how were sound waves used to open doors in ancient Karnak, Abydon and Thebes?

CHINA

Did you know that about 1000 BC nerve gas was used in warfare?
That 2,500 years ago "mirrors" were invented which, set up in pairs, could transmit messages, like television?
THE BIGGEST PYRAMID: One hundred pyramids have been discovered in Shensi Province of China. The largest – according to one claim 1,200 feet high, 2½ times the height of Egypt’s Great Pyramid – could, if hollow, swallow 26 Empire State buildings.
https://preview.redd.it/w0cn3os2e1zc1.png?width=150&format=png&auto=webp&s=bac08cd1df7c724dcdfda6f75997092e7e7e3b75
Did you know that X-rays were used in ancient China?
And heart transplant operations were carried out?
And what about the 716 rhythmically pulsating “electric” disks (similar to computer disks) found in caves in the Bayan-Kara-Ula mountains?
THE AMERICAS
Have you heard how Captain Don Henry discovered a 400 foot pyramid on the seabed off Florida?
Did you know that a Chinese expedition surveyed all of North America in 2200 BC. They saw a sunrise over the Grand Canyon, black opals and gold nuggests in Nevada, and seals frolicking in San Francisco Bay!
And would you believe the ancient Maya used screw propellors, had books with gold leaves... and even diving suits?
Have you heard about the Mayan surgical instruments that were a thousand times sharper than modern platinum-plus blades?
And Mayan dental crowns and fillings still hold after 1,500 years!
How does a bird in the Andes turn hard rock to be soft like putty? Did the ancients know this formula?
And did you know that the Inca soaked in bathtubs of gold and silver, fed by water pipes of silver and gold?
That in the city of Pachacamac in Peru the temple stones were fastened with gold nails that weighed a ton!
That in 1963, Peruvian surgeon Francisco Grano saved a patient’s life, using surgical instruments from a 3,000 year old tomb?
And how about this?: On a plain in Peru can be found 4-dimensional art with several faces that disappear or change into other figures, according to your position or that of the sun.
And this? From a dead, vine-choked jungle city, have been brought out exquisitely stamped 30 foot long rolls of sheet metal “wall paper” jointed together with tiny rivets!
Then there is the mystery of that vast artificial tunnel in a remote corner of Ecuador, which was explored by astronaut Neil Armstrong.
And did you know that an Amazon tribe, since the 1970s, has escaped the encroaching world by retreating to an abandoned underground city!
THE MEDITERRANEAN
Have you heard of ancient Greece’s chemical warfare weapon – fire that burned in water – which was self-igniting?
Did you know about their devices for the automatic opening and closing of doors!
Their sewage system from every house, as good as any today?
And how about the computer that calculated the positions of the planets, the rising and setting of the moon, tide movements and time of day… and could establish a ship’s position anywhere on earth out of sight of land, or at night. Precise mechanics, as good as any we can produce today. 55 BC
And what do you think about these?: - Drills that bored holes finer than the thinnest needle - Taxis with speedometers - Shatter proof sheet glass - A machine tool for cutting screws - A machine for boring tunnels - Petrol vapor machines - A human-like robot that could walk… and almost ran away!
And luxury ocean liners with swimming pools.
RUSSIA
Have you heard of the 15 minute “movie” of luminous pictures that activates each day as the sun sets over the Onega River in Russia?
MICRO TECHNOLOGY: 40 feet underground in Russia’s Ural region, gold prospectors are finding ANCIENT, man-made, spiral-shaped artifacts. These microscopically TINY artifacts are the product of some inexplicable and highly advanced technology. They resemble control elements used in micro-miniature devices in our latest technology “nano-machines”.
BABYLON, FERTILE CRESCENT
And what about these?: - Protective face masks for patients undergoing radiation therapy - Eye cataract operations - Electric dry-cell batteries - Use of sound waves to lift heavy weights
MASSIVE WEIGHTS LIFTED:
Ancient 2,000 ton stone building blocks in Lebanon were raised 20 feet above the ground. No modern crane can budge, lift or transport, such titanic blocks.
AUSTRALIA
A wrecked Phoenician ship has been found on the West Australian coast. And other Phoenician evidence is found around the country. Near Sarina, Queensland, Val Osborne has discovered remains of a Phoenician port and mine from 900 BC.
Traditional theory says this can’t be! So with all the publicity, the Central Queensland University reportedly sent an archaeologist to the site, instructing him to ‘find nothing’. Osborne commented, “It’s like that – when they don’t want the truth to be known, they will deny it.
Numerous traces of Egyptian colonisation in Australia have also been unearthed or discovered, such as coins, statues, inscriptions and a tomb, as well as Egyptian customs, religious features and words among the Aborigines.… Oh yes, and pyramids.
INDIA, PAKISTAN
How about this? Advanced mathematics, with measurements in micro-fractions – down to the disintegration rates of sub-atomic particles (1/300 millionth of a second). I ask you, how could these have been measured without precision instruments? And why did they find it necessary to measure them?
https://preview.redd.it/1g9unwarf1zc1.png?width=150&format=png&auto=webp&s=d3e7233a21c04e52f22be0cb52722b9c605c3876
Why were 44 skeletons dug up in Pakistan found to be radioactive? 2000 BC
MAN TURNED TO GLASS: In a forest of NE India, explorer-hunter H.J. Hamilton received a substantial shock when he entered ancient ruins. On a chair, made of the same ‘crystal’ as the walls, an odd shape was crouching, with vaguely human features. At first he thought it to be a statue damaged by time. But then he was filled with horror: under the ‘glass’ which covered that ‘statue’ a skeleton could clearly be seen! Melted, crystallized!
Anything else? Plenty: - Upstairs bedrooms having en suite bathrooms with hot and cold running water on tap, and flush toilets. - Aluminium cups, thimbles, and so on - Plastic surgery, including nose transplants - Fluoroscopy (X-ray devices) - Chemical and biological warfare, and nerve gas
THE WORLD
Discover the two 70 foot towers in Ahmedabad, that sway to and fro in rhythm with each other.
Were you aware that in at least 64 scientific achievements an ancient civilization surpassed us?
https://preview.redd.it/co3smyy6g1zc1.png?width=150&format=png&auto=webp&s=bba6f44d0f00ee90a4f38464692f47aabf382773
https://preview.redd.it/bi6664q7g1zc1.png?width=150&format=png&auto=webp&s=1a1a91bed45b2bb796543c35e0d85492dd4303c3
ANCIENT WORLD SURVEY?: Although Antarctica’s existence was not verified until 1819, an ancient map shows that continent as it was BEFORE the ice covered it – with rivers and fjords precisely where today mile-thick glaciers flow, and a mountain range undiscovered until 1952.
Longitude and latitude are shown correctly, with a grid system similar to modern air navigation maps. 2000 BC.
Did you know about the mystery satellite orbiting the poles, but not put there by any modern nation?
That man knew the secret of flight before the 20th century?
That early cave men wore “modern” clothes like ours?
And what about the cities illuminated by means of electricity unknown to us today?
Do you know what 4,000 year old aerial surveillance techniques were used in the Iraq war?
http://www.beforeus.com/
submitted by ConsciousRun6137 to u/ConsciousRun6137 [link] [comments]


http://rodzice.org/