This repository has been archived on 2025-02-21. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
swift-mhoush.com/deploy/articles/2023/introducing-psychrometrics-cli/index.html

206 lines
11 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8"/>
<meta content="#0e1112" media="(prefers-color-scheme: dark)" name="theme-color"/>
<meta content="#566B78" media="(prefers-color-scheme: light)" name="theme-color"/>
<meta content="Michael Housh" name="author"/>
<meta content="Mhoush" name="apple-mobile-web-app-title"/>
<meta content="initial-scale=1.0, width=device-width" name="viewport"/>
<meta content="telephone=no" name="format-detection"/>
<meta content="True" name="HandheldFriendly"/>
<meta content="320" name="MobileOptimized"/>
<meta content="Mhoush" name="og:site_name"/>
<meta content="hvac, developer, swift, home-performance, design" name="keywords"/>
<title>
mhoush: Introducing Psychrometrics CLI
</title>
<link href="/static/favicon.ico" rel="shortcut icon"/>
<link href="/static/output.css" rel="stylesheet"/>
<link href="/static/style.css" rel="stylesheet"/>
<link href="/articles/feed.xml" rel="alternate" title="mhoush" type="application/rss+xml"/>
<link href="/static/prism.css" rel="stylesheet"/>
<meta content="Today, Im releasing a command line application that is built on top of my
swift-psychrometrics package, that I open sourced over 2 years ago.
The application consists of many calculations / conversions for psychrometric properties of an air stream...." name="description"/>
<meta content="summary_large_image" name="twitter:card"/>
<meta content="http://localhost:3000/articles/images/2023-09-18-introducing-psychrometrics-cli.png" name="twitter:image"/>
<meta content="Introducing Psychrometrics CLI" name="twitter:image:alt"/>
<meta content="http://localhost:3000/articles/images//articles/2023/introducing-psychrometrics-cli/" name="og:url"/>
<meta content="Introducing Psychrometrics CLI" name="og:title"/>
<meta content="Today, Im releasing a command line application that is built on top of my
swift-psychrometrics package, that I open sourced over 2 years ago.
The application consists of many calculations / conversions for psychrometric properties of an air stream...." name="og:description"/>
<meta content="http://localhost:3000/articles/images/2023-09-18-introducing-psychrometrics-cli.png" name="og:image"/>
<meta content="1014" name="og:image:width"/>
<meta content="530" name="og:image:height"/>
<script crossorigin="anonymous" src="https://kit.fontawesome.com/f209982030.js">
</script>
</head>
<body class="bg-page text-white pb-5 font-avenir articles">
<header class="bg-nav text-gray py-4 text-base/6 lg:fixed w-full lg:h-[62px]">
<nav class="container flex gap-x-5 lg:gap-x-y items-center">
<ul class="flex flex-wrap gap-x-2 lg:gap-x-5">
<li>
<a class href="/">Home</a>
</li>
<li>
<a class="active" href="/articles/">Articles</a>
</li>
<li>
<a class href="/about/">About</a>
</li>
</ul>
</nav>
</header>
<div class="container pt-12 lg:pt-28">
<article class="prose">
<h1>
Introducing Psychrometrics CLI
</h1>
<div class="-mt-6">
<div class="text-gray gray-links text-sm">
<span class="border-r border-gray pr-2 mr-2">September 18, 2023</span>538 words, posted in <a href="/articles/tag/hvac/">HVAC</a>, <a href="/articles/tag/psychrometrics/">psychrometrics</a> and <a href="/articles/tag/software/">software</a>
</div>
</div>
<img alt="banner" src="http://localhost:3000/articles/images/2023-09-18-introducing-psychrometrics-cli.png"/>
<p>Today, Im releasing a command line application that is built on top of my
<a href="https://github.com/swift-psychrometrics/swift-psychrometrics">swift-psychrometrics</a> package, that I open sourced over 2 years ago.</p>
<p>The application consists of many calculations / conversions for psychrometric properties of an air stream. The tool works for both imperial
and metric units. The application will work natively on macOS, but can also be ran through a <code>docker</code> container on other platforms.</p>
<h2>Why</h2>
<p>I spend a lot of time in my terminal, because I can work so much more efficiently. I discovered many years ago that the more I can do using
simple applications and keyboard over a mouse and a web browser or native application the more I can accomplish. I understand this is
intimidating for many who think they are <em>“not good with computers”.</em> I can assure that was me several years ago, I would only encourage you
to not be afraid and give it a shot. We are at a time in society where it is easier than ever to get informed and learned new skills.</p>
<h2>Installation</h2>
<p>For complete installation instructions, you can view the <a href="https://github.com/swift-psychrometrics/psychrometrics-cli">github</a> repository.</p>
<p>The following instructions are based on using macOS.</p>
<h3>Open your terminal application.</h3>
<p>Personally, I use <a href="https://iterm2.com/">iTerm2</a>, however you can use the default <code>Terminal</code> app. Found at
<code>/Applications/Utilities/Terminal.app</code>.</p>
<h2>Install Homebrew</h2>
<p>We use <a href="https://brew.sh">Homebrew</a> for package distribution of the pre-built application binaries. You can follow their instructions to
install.</p>
<h3>Tap our custom formula tap.</h3>
<pre><code class="language-bash">brew tap swift-psychrometrics/formula
</code></pre>
<h3>Install the psychrometrics application</h3>
<pre><code class="language-bash">brew install psychrometrics
</code></pre>
<p>Thats it!</p>
<h2>Usage</h2>
<p>I will run through a couple of the commands that are supplied with the application and show what you can expect the outputs to be.</p>
<h3>Properties</h3>
<p>The following command will output a bunch of the psychrometric properties of an air stream. There are several ways to call it, but generally
you will supply the dry bulb temperature and the relative humidity.</p>
<p>Below, we calculate the psychrometric properties based on 75°F and 50% humidity.</p>
<pre><code class="language-bash">psychrometrics --dry-bulb 75 --relative-humidity 50
</code></pre>
<p><img src="/articles/images/2023-09-18-properties.png" alt="properties-output" /></p>
<h3>Dehumidifier Sizing</h3>
<p>If youve read some of my recent articles on calculating the
<a href="https://mhoush.com/posts/sizing-dehumidifier-by-latent-load/">dehumidifier size required based on the latent load</a>, the application also
ships with a calculation that will do this for you and has the ability to calculate it at different <code>coverages</code> that you can supply.</p>
<p>For example if weve done a load calculation and determined that we have a latent load of <code>4,334 BTU/h</code> then we could run the following
command to see what size dehumidifier is needed for <code>100%, 85%, and 70%</code> of the latent load.</p>
<pre><code class="language-bash">psychrometrics dh size --coverage 100 85 70 --verbose 4334
</code></pre>
<p><img src="/articles/images/2023-09-18-dh-size.png" alt="dh-size" /></p>
<h3>Pounds of Water Removed</h3>
<p>I also recently wrote an article about <a href="https://mhoush.com/posts/pounds-of-water-removed/">calculating the pounds of water removed</a> from an
air stream given the grains of moisture removed.</p>
<p>Below is an example of calculating the pounds of water removed per hour based on the example in the article (14 delta-grains)</p>
<pre><code class="language-bash">psychrometrics dh pounds-removed --delta 14 --cfm 797 --verbose
</code></pre>
<p><img src="/articles/images/2023-09-18-pounds-removed.png" alt="pounds-removed" /></p>
<h3>Help</h3>
<p>You can use <code>--help</code> option to show help and the list of commands provided.</p>
<p><img src="/articles/images/2023-09-18-help.png" alt="help" /></p>
<p>If you have any questions then feel free to email or message me. I hope some of you may find this application useful.</p>
</article>
<div class="border-t border-light mt-8 pt-8">
<h2 class="text-4xl font-extrabold mb-8">
Written by
</h2>
<div class="flex flex-col lg:flex-row gap-8">
<div class="flex-[0_0_120px]">
<img class="w-[120px] h-[120px] rounded-full" src="/static/images/avatar.png"/>
</div>
<div class="prose">
<h3 class="!m-0">
Michael Housh
</h3>
<p class="text-gray">
HVAC business owner with over 27 years of experience. Writes articles about HVAC,
Programming, Home-Performance, and Building Science
</p>
</div>
</div>
</div>
<div class="mt-16">
<h2 class="text-4xl font-extrabold mb-8">
More articles
</h2>
<div class="grid lg:grid-cols-2 gap-10">
<section>
<h2 class="text-2xl font-bold mb-2">
<a class="[&:hover]:border-b border-orange" href="/articles/2025/vapor-htmx-todo-app/">Vapor + HTMX</a>
</h2>
<div class="text-gray gray-links text-sm mb-4">
<span class="border-r border-gray pr-2 mr-2">January 05, 2025</span><a href="/articles/tag/general/">general</a>, <a href="/articles/tag/programming/">programming</a> and <a href="/articles/tag/software/">software</a>
</div>
<p>
<a href="/articles/2025/vapor-htmx-todo-app/"><div>
Build an example application using Vapor and HTMX.
</div></a>
</p>
</section>
<section>
<h2 class="text-2xl font-bold mb-2">
<a class="[&:hover]:border-b border-orange" href="/articles/2024/free-as-in-freedom/">Free As In Freedom</a>
</h2>
<div class="text-gray gray-links text-sm mb-4">
<span class="border-r border-gray pr-2 mr-2">April 09, 2024</span><a href="/articles/tag/general/">general</a>, <a href="/articles/tag/open-source/">open-source</a> and <a href="/articles/tag/software/">software</a>
</div>
<p>
<a href="/articles/2024/free-as-in-freedom/"><div>
Salute to open-source software engineers
</div></a>
</p>
</section>
</div>
<p class="prose mt-8">
<a href="/articles/"> See all articles</a>
</p>
</div>
</div>
<div class="site-footer container text-gray gray-links border-t border-light text-center pt-6 mt-8 text-sm">
<p>
Copyright © Michael Housh 2023-2025.
</p>
<p>
Built in Swift using
<a href="https://github.com/loopwerk/Saga" rel="nofollow" target="_blank">Saga</a>
(<a href="https://github.com/m-housh/mhoush.com" rel="nofollow" target="_blank">source</a>).
</p>
<p>
<a href="http://localhost:3000/articles/feed.xml" rel="nofollow" target="_blank">RSS</a>
|
<a href="https://github.com/m-housh" rel="nofollow" target="_blank">Github</a>
|
<a href="https://www.youtube.com/channel/UCb58SeURd5bObfTiL0KoliA" rel="nofollow" target="_blank">Youtube</a>
|
<a href="https://www.facebook.com/michael.housh" rel="nofollow" target="_blank">Facebook</a>
|
<a href="mailto:michael@mhoush.com" rel="nofollow">Email</a>
</p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-core.min.js">
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/keep-markup/prism-keep-markup.min.js">
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/autoloader/prism-autoloader.min.js">
</script>
</div>
</body>
</html>