<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Abouts on Smokelyze</title>
    <link>https://smokelyze.org/about/</link>
    <description>Recent content in Abouts on Smokelyze</description>
    <generator>Hugo</generator>
    <language>en-US</language>
    <atom:link href="https://smokelyze.org/about/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title></title>
      <link>https://smokelyze.org/about/about_us/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://smokelyze.org/about/about_us/</guid>
      <description>&lt;script&gt;document.body.classList.add(&#34;page-about&#34;);&lt;/script&gt;&#xA;&#xA;&lt;br&gt;&#xA;&lt;h1 style=&#34;color: white; text-align: center; text-shadow: 0 0.2rem 0.5rem var(--color-black);&#34; &gt;&#xA;  Haebum Lee, PhD. &#xA;  &lt;br&gt;&#xA;  (Developer)&#xA;&lt;/h1&gt;&#xA;&#xA;&lt;div class=&#34;reveal-on-scroll&#34; style=&#34;text-align: center;&#34;&gt;&#xA;  &lt;h3 style=&#34;color: white; text-shadow: 0 0.2rem 0.5rem var(--color-black);&#34;&gt;&#xA;    Postdoctoral Scholar&#xA;  &lt;/h3&gt;&#xA;  &#xA;  &lt;p style=&#34;color: white; text-shadow: 0 0.2rem 0.5rem var(--color-black);&#34;&gt;&#xA;    Jaffe Group, &lt;br&gt;&#xA;    School of STEM, &lt;br&gt;&#xA;    University of Washington (UW), &lt;br&gt; &#xA;    Bothell, WA, United States&lt;br&gt;&#xA;  &lt;/p&gt;&#xA;  &#xA;  &lt;div class=&#34;social-links&#34;&gt;&#xA;    &lt;a href=&#34;https://www.linkedin.com/in/haebum-lee-683731305/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;      &lt;img src=&#34;https://smokelyze.org/images/linkedin_logo.png&#34; width=&#34;30&#34; height=&#34;30&#34; alt=&#34;LinkedIn&#34;&gt;&#xA;    &lt;/a&gt;&#xA;    &amp;nbsp;&amp;nbsp;&#xA;    &lt;a href=&#34;https://github.com/haebum1991/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;      &lt;img src=&#34;https://smokelyze.org/images/github_logo.png&#34; width=&#34;30&#34; height=&#34;30&#34; alt=&#34;GitHub&#34;&gt;&#xA;    &lt;/a&gt;&#xA;    &amp;nbsp;&amp;nbsp;&#xA;    &lt;a href=&#34;https://orcid.org/0009-0001-2045-8532&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;      &lt;img src=&#34;https://smokelyze.org/images/ORCID_logo.png&#34; width=&#34;30&#34; height=&#34;30&#34; alt=&#34;ORCID&#34;&gt;&#xA;    &lt;/a&gt;&#xA;    &amp;nbsp;&amp;nbsp;&#xA;    &lt;a href=&#34;https://scholar.google.com/citations?user=98LKhgUAAAAJ&amp;hl&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;      &lt;img src=&#34;https://smokelyze.org/images/ggscholar_logo.png&#34; width=&#34;30&#34; height=&#34;30&#34; alt=&#34;GGS&#34;&gt;&#xA;    &lt;/a&gt;&#xA;  &lt;/div&gt;&#xA;  &lt;br&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&lt;div class=&#34;card-about reveal-on-scroll&#34;&gt;&#xA;  &lt;p style=&#34;margin-bottom: 1.5rem;&#34;&gt;Hello, and Welcome to my Web Application!&lt;/p&gt;&#xA;  &lt;p&gt;I am a scientist who focus on the multifaceted study of air quality and atmospheric phenomena,&#xA;    including the analysis of wildfire smoke on ozone, air pollutant monitoring, and&#xA;    the utilization of satellite and remote sensing data to assess atmospheric parameters.&#xA;    I am also deeply engaged in studying&#xA;    the wildfire smoke impacts on air quality,&#xA;    the physicochemical properties of atmospheric aerosols,&#xA;    the dynamics of new particle formation, and&#xA;    the development of predictive models using machine learning.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://smokelyze.org/about/contact/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://smokelyze.org/about/contact/</guid>
      <description>&lt;script&gt;document.body.classList.add(&#34;page-about&#34;);&lt;/script&gt;&#xA;&#xA;&lt;h1 style=&#34;text-align: center;&#34;&gt;&#xA;    Contact Us&#xA;&lt;/h1&gt;&#xA;&#xA;&lt;div class=&#34;card-about reveal-on-scroll&#34;&gt;&#xA;    &lt;p style=&#34;text-align: center; margin-bottom: 2rem;&#34;&gt;&#xA;        Have any questions or feedback? &lt;br&gt;&#xA;        Fill out the form below and we will get back to you as soon as possible.&#xA;    &lt;/p&gt;&#xA;&#xA;    &lt;!-- &#xA;      Netlify Forms:&#xA;      Adding data-netlify=&#34;true&#34; tells Netlify to automatically process this form.&#xA;      You can configure email notifications for new submissions in your Netlify Dashboard.&#xA;    --&gt;&#xA;    &#xA;    &lt;form name=&#34;contact&#34; id=&#34;contactForm&#34; method=&#34;POST&#34; data-netlify=&#34;true&#34;&#xA;        style=&#34;max-width: 100%; margin: 0 auto; display: flex; flex-direction: column; gap: 1.5rem;&#34;&gt;&#xA;&#xA;        &lt;!-- This hidden field is for Netlify&#39;s bot protection (optional but recommended) --&gt;&#xA;        &lt;input type=&#34;hidden&#34; name=&#34;form-name&#34; value=&#34;contact&#34; /&gt;&#xA;&#xA;        &lt;div style=&#34;display: flex; flex-direction: column; gap: 0.5rem;&#34;&gt;&#xA;            &lt;label for=&#34;name&#34; style=&#34;color: var(--card-shadow); font-weight: bold;&#34;&gt;Name&lt;/label&gt;&#xA;            &lt;input type=&#34;text&#34; id=&#34;name&#34; name=&#34;name&#34; required placeholder=&#34;Your Name&#34;&#xA;                style=&#34;padding: 1rem; border-radius: var(--border-radius-0p8rem); border: 0.1rem solid var(--card-shadow); background: var(--color-white); color: var(--color-black); font-size: 1.6rem; outline: none;&#34;&gt;&#xA;        &lt;/div&gt;&#xA;        &#xA;        &lt;div style=&#34;display: flex; flex-direction: column; gap: 0.5rem;&#34;&gt;&#xA;            &lt;label for=&#34;affiliation&#34; style=&#34;color: var(--card-shadow); font-weight: bold;&#34;&gt;Affiliation&#xA;                (Optional)&lt;/label&gt;&#xA;            &lt;input type=&#34;text&#34; id=&#34;affiliation&#34; name=&#34;affiliation&#34; placeholder=&#34;University, Company, etc.&#34;&#xA;                style=&#34;padding: 1rem; border-radius: var(--border-radius-0p8rem); border: 0.1rem solid var(--card-shadow); background: var(--color-white); color: var(--color-black); font-size: 1.6rem; outline: none;&#34;&gt;&#xA;        &lt;/div&gt;&#xA;        &#xA;        &lt;div style=&#34;display: flex; flex-direction: column; gap: 0.5rem;&#34;&gt;&#xA;            &lt;label for=&#34;email&#34; style=&#34;color: var(--card-shadow); font-weight: bold;&#34;&gt;Email Address&lt;/label&gt;&#xA;            &lt;input type=&#34;email&#34; id=&#34;email&#34; name=&#34;email&#34; required placeholder=&#34;your.email@example.com&#34;&#xA;                style=&#34;padding: 1rem; border-radius: var(--border-radius-0p8rem); border: 0.1rem solid var(--card-shadow); background: var(--color-white); color: var(--color-black); font-size: 1.6rem; outline: none;&#34;&gt;&#xA;        &lt;/div&gt;&#xA;&#xA;        &lt;div style=&#34;display: flex; flex-direction: column; gap: 0.5rem;&#34;&gt;&#xA;            &lt;label for=&#34;message&#34; style=&#34;color: var(--card-shadow); font-weight: bold;&#34;&gt;Message&lt;/label&gt;&#xA;            &lt;textarea id=&#34;message&#34; name=&#34;message&#34; rows=&#34;6&#34; required placeholder=&#34;How can we help you?&#34;&#xA;                style=&#34;padding: 1rem; border-radius: var(--border-radius-0p8rem); border: 0.1rem solid var(--card-shadow); background: var(--color-white); color: var(--color-black); font-size: 1.6rem; resize: vertical; outline: none;&#34;&gt;&lt;/textarea&gt;&#xA;        &lt;/div&gt;&#xA;&#xA;        &lt;div style=&#34;text-align: center; margin-top: 1rem;&#34;&gt;&#xA;            &lt;button id=&#34;submitBtn&#34; type=&#34;submit&#34;&#xA;                style=&#34;background-color: var(--card-shadow); color: var(--color-bg); border: none; padding: 1rem 3rem; font-size: 1.6rem; font-weight: bold; border-radius: calc(var(--border-radius-0p8rem) * 2); cursor: pointer; transition: transform 0.3s, background-color 0.3s; box-shadow: 0 0.4rem 1rem rgba(0,0,0,0.2);&#34;&gt;&#xA;                Send Message&#xA;            &lt;/button&gt;&#xA;            &lt;div id=&#34;submitSuccess&#34;&#xA;                style=&#34;display: none; color: #34A853; font-weight: bold; font-size: 1.8rem; margin-top: 1.5rem;&#34;&gt;&#xA;                ✔ Complete! Thank you for your message.&#xA;            &lt;/div&gt;&#xA;            &lt;div id=&#34;submitError&#34;&#xA;                style=&#34;display: none; color: #EA4335; font-weight: bold; font-size: 1.6rem; margin-top: 1.5rem;&#34;&gt;&#xA;                ✖ Something went wrong. Please try again.&#xA;            &lt;/div&gt;&#xA;        &lt;/div&gt;&#xA;    &lt;/form&gt;&#xA;    &lt;br&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;script&gt;&#xA;    const contactForm = document.getElementById(&#34;contactForm&#34;);&#xA;    const submitBtn = document.getElementById(&#34;submitBtn&#34;);&#xA;    const submitSuccess = document.getElementById(&#34;submitSuccess&#34;);&#xA;    const submitError = document.getElementById(&#34;submitError&#34;);&#xA;&#xA;    if (contactForm) {&#xA;        contactForm.addEventListener(&#34;submit&#34;, function (e) {&#xA;            e.preventDefault(); // 기본(화면 넘어감) 방지&#xA;            submitBtn.innerText = &#34;Sending...&#34;;&#xA;            submitBtn.disabled = true;&#xA;&#xA;            const formData = new FormData(contactForm);&#xA;            const searchParams = new URLSearchParams();&#xA;            for (const pair of formData) {&#xA;                searchParams.append(pair[0], pair[1]);&#xA;            }&#xA;&#xA;            // AJAX로 데이터 전송&#xA;            fetch(&#34;/&#34;, {&#xA;                method: &#34;POST&#34;,&#xA;                headers: { &#34;Content-Type&#34;: &#34;application/x-www-form-urlencoded&#34; },&#xA;                body: searchParams.toString()&#xA;            })&#xA;                .then(() =&gt; {&#xA;                    submitBtn.style.display = &#34;none&#34;;&#xA;                    submitSuccess.style.display = &#34;block&#34;;&#xA;                    submitError.style.display = &#34;none&#34;;&#xA;                    contactForm.reset();&#xA;                })&#xA;                .catch((error) =&gt; {&#xA;                    console.error(&#34;Form submission error:&#34;, error);&#xA;                    submitBtn.innerText = &#34;Send Message&#34;;&#xA;                    submitBtn.disabled = false;&#xA;                    submitSuccess.style.display = &#34;none&#34;;&#xA;                    submitError.style.display = &#34;block&#34;;&#xA;                });&#xA;        });&#xA;    }&#xA;&lt;/script&gt;&#xA;&#xA;&lt;br&gt;&#xA;&lt;br&gt;&#xA;&lt;br&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://smokelyze.org/about/privacy-policy/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://smokelyze.org/about/privacy-policy/</guid>
      <description>&lt;script&gt;document.body.classList.add(&#34;page-about&#34;);&lt;/script&gt;&#xA;&#xA;&lt;h1 style=&#34;text-align: center;&#34;&gt;&#xA;    Privacy Policy&#xA;&lt;/h1&gt;&#xA;&#xA;&lt;p style=&#34;text-align: center;&#34;&gt;&#xA;    &lt;strong&gt;Last Updated:&lt;/strong&gt; February 25, 2026&#xA;&lt;/p&gt;&#xA;&#xA;&lt;div class=&#34;card-about reveal-on-scroll&#34;&gt;&#xA;&#xA;    &lt;p&gt;This Privacy Policy explains how Smokelyze (&#34;we,&#34; &#34;us,&#34; or &#34;our&#34;) collects, uses, and discloses information about&#xA;        you when you access or use our web application. By using Smokelyze, you agree to the collection and use of&#xA;        information in accordance with this policy.&lt;/p&gt;&#xA;&#xA;    &lt;br&gt;&#xA;&#xA;    &lt;h3 style=&#34;color: var(--card-shadow);&#34;&gt;1. Information We Collect&lt;/h3&gt;&#xA;    &lt;p&gt;We only collect information that is necessary to provide and improve our services.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://smokelyze.org/about/smokelyze/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://smokelyze.org/about/smokelyze/</guid>
      <description>&lt;h1 style=&#34;text-align: center;&#34;&gt;&#xA;  Smokelyze&#xA;&lt;/h1&gt;&#xA;&#xA;&lt;h3 style=&#34;text-align: center;&#34;&gt;&#xA;  &lt;b style=&#34;color: var(--card-shadow);&#34;&gt;[Smokelyze]&lt;/b&gt;, formerly known as [PMO3smokeTool], &#xA;  &lt;br&gt;&#xA;  is a comprehensive analytical platform for wildfire smoke impact assessment.&#xA;&lt;/h3&gt;&#xA;&#xA;&lt;div style=&#34;text-align: left;&#34;&gt;&#xA;  &lt;p style=&#34;text-align: center;&#34;&gt;&#xA;    &lt;a href=&#34;https://smokelyze.org/map/&#34; rel=&#34;noopener noreferrer&#34; style=&#34;font-size: 1.6rem;&#34;&gt;&#xA;      Smokelyze Map&#xA;    &lt;/a&gt; (JavaScript version) &#xA;    &lt;br&gt;&#xA;    &lt;a href=&#34;https://westar.shinyapps.io/PMO3smokeTool/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34; style=&#34;font-size: 1.6rem;&#34;&gt;&#xA;      PMO3smokeTool&#xA;    &lt;/a&gt; (Legacy: R shiny version)&#xA;  &lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;div class=&#34;reveal-on-scroll&#34;&gt;&#xA;  &lt;h2&gt;Purpose of tool&lt;/h2&gt;&#xA;  &#xA;  &lt;p&gt;The purpose of this app is to demonstrate the application of a&#xA;  &lt;b style=&#34;color: var(--card-shadow);&#34;&gt;Generalized Additive Model (GAM)&lt;/b&gt; for predicting MDA8 O3 using meteorological data under both smoke and non-smoke conditions.&#xA;  In this app, a GAM is derived using the &#34;&lt;b style=&#34;color: var(--card-shadow);&#34;&gt;mgcv&lt;/b&gt;&#34; package in R. We hope this tool will be useful for state agencies and others &#xA;  in understanding the factors that control O3 production.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://smokelyze.org/about/terms-of-use/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://smokelyze.org/about/terms-of-use/</guid>
      <description>&lt;script&gt;document.body.classList.add(&#34;page-about&#34;);&lt;/script&gt;&#xA;&#xA;&lt;h1 style=&#34;text-align: center;&#34;&gt;&#xA;    Terms of Use &amp; Disclaimer&#xA;&lt;/h1&gt;&#xA;&#xA;&lt;p style=&#34;text-align: center;&#34;&gt;&#xA;    &lt;strong&gt;Last Updated:&lt;/strong&gt; March 3, 2026&#xA;&lt;/p&gt;&#xA;&#xA;&lt;div class=&#34;card-about reveal-on-scroll&#34;&gt;&#xA;    &lt;p&gt;Welcome to &lt;strong style=&#34;color: var(--card-shadow);&#34;&gt;Smokelyze&lt;/strong&gt;. By accessing or using this application,&#xA;        you agree to be bound by these Terms of Use. If you&#xA;        do not agree with any part of these terms, please do not use our services.&lt;/p&gt;&#xA;&#xA;    &lt;br&gt;&#xA;&#xA;    &lt;h3 style=&#34;color: var(--card-shadow);&#34;&gt;1. Educational and Informational Purposes Only&lt;/h3&gt;&#xA;    &lt;p&gt;Smokelyze is an educational and research-oriented web application developed to provide advanced spatiotemporal&#xA;        analytics for wildfire smoke and air quality. The data, metrics, predictive models, and informational content&#xA;        (&#34;Content&#34;) provided on this site are for &lt;strong&gt;general informational and research purposes only.&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
