Skip to content

Commit

Permalink
Built site for gh-pages
Browse files Browse the repository at this point in the history
  • Loading branch information
Quarto GHA Workflow Runner committed Feb 14, 2024
1 parent cf1e2f0 commit 879e91f
Show file tree
Hide file tree
Showing 16 changed files with 183 additions and 185 deletions.
2 changes: 1 addition & 1 deletion .nojekyll
Original file line number Diff line number Diff line change
@@ -1 +1 @@
5e5d98d8
9c434cdb
18 changes: 9 additions & 9 deletions about.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">


<title>DA-documentation - About</title>
<title>Data Assimilation docs - About</title>
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
Expand Down Expand Up @@ -79,7 +79,7 @@
<div class="navbar-container container-fluid">
<div class="navbar-brand-container mx-auto">
<a class="navbar-brand" href="./index.html">
<span class="navbar-title">DA-documentation</span>
<span class="navbar-title">Data Assimilation docs</span>
</a>
</div>
<div id="quarto-search" class="" title="Search"></div>
Expand Down Expand Up @@ -159,7 +159,7 @@
<h2 id="toc-title">On this page</h2>

<ul>
<li><a href="#about-my-phd" id="toc-about-my-phd" class="nav-link active" data-scroll-target="#about-my-phd">About my PhD</a></li>
<li><a href="#hi" id="toc-hi" class="nav-link active" data-scroll-target="#hi">Hi!</a></li>
</ul>
<div class="toc-actions"><ul><li><a href="https://github.com/paocorrales/DA-documentation/edit/main/about.qmd" class="toc-action"><i class="bi bi-github"></i>Edit this page</a></li><li><a href="https://github.com/paocorrales/DA-documentation/issues/new/choose" class="toc-action"><i class="bi empty"></i>Report an issue</a></li></ul></div></nav>
</div>
Expand All @@ -185,13 +185,13 @@ <h1 class="title">About</h1>
</header>


<p>This guide is a compilation of many tools scripts, pieces of code and routines that I used during my PhD. As the name says, everything goes around assimilating observations using the GSI system. I spent a lot of time working with the conventional and Radiance observations so you will find a comprehensive tutorial and documentation on how to assimilate these types of observations. This includes the processing of the observations, how to configure the system and all the quality control steps GSI performs during the assimilation process.</p>
<p>Sometimes you will find everything inside the website and sometimes you will need to go to a specific repository to get the code or the data associated with the the specific topic. And while I tried to be mindful during my PhD at commenting and documenting everything along the way I’m sure that there are gaps and missing pieces. If you find anything that can be improved please open an issue in the repository of this website and contribute to making this guide better.</p>
<p>Many of these tools come from different sources. Sometimes someone else wrote the code and I adapted it to my specific needs, sometimes I wrote the code from scratch. So it’s important to read the license note in each section so you know who created that code and in which way you can use it.</p>
<section id="about-my-phd" class="level2">
<h2 class="anchored" data-anchor-id="about-my-phd">About my PhD</h2>
<p>The main goal of may research was to applied data assimilation techniques to improve short-term forecasts of severe events in Argentina. In particular, the research focuses on data assimilation of observations from automatic stations and radiances from polar and geostationary satellites. You can read the final dissertation (in Spanish) <a href="https://paocorrales.github.io/Tesis_doctorado/">here</a>.</p>
<section id="hi" class="level2">
<h2 class="anchored" data-anchor-id="hi">Hi!</h2>
<p>I’m Pao Corrales and I have a PhD in Atmospheric Science! The main goal of my research was to applied data assimilation techniques to improve short-term forecasts of severe events in Argentina. In particular, the research focuses on data assimilation of observations from automatic stations and radiances from polar and geostationary satellites. You can read the final dissertation (in Spanish) <a href="https://paocorrales.github.io/Tesis_doctorado/">here</a>.</p>
<p>I worked in the <a href="https://www.cima.fcen.uba.ar/index.php">Centro de Investigaciones del Mar y la Atmósfera</a> (CIMA), for that reason you may find mentions to Hydra or Yakaira, their HPC and a server I used a lot.</p>
<p>This guide is a compilation of many tools, scripts, pieces of code and routines that I used during my PhD. As the name says, everything goes around assimilating observations using the GSI system. I spent a lot of time working with the conventional and Radiance observations so you will find a comprehensive tutorial and documentation on how to assimilate these types of observations. This includes the processing of the observations, how to configure the system and all the quality control steps GSI performs during the assimilation process.</p>
<p>Sometimes you will find everything inside the website and sometimes you will need to go to a specific repository to get the code or the data associated with the the specific topic. And while I tried to be mindful during my PhD at commenting and documenting everything along the way I’m sure that there are gaps and missing pieces. If you find anything that can be improved please <a href="./contribute.html">open an issue in the repository</a> of this website and contribute to make this guide better.</p>
<p>Many of these tools come from different sources. Sometimes someone else wrote the code and I adapted it to my specific needs, sometimes I wrote the code from scratch. So it’s important to read the license note in each section so you know who created that code and in which way you can use it.</p>


</section>
Expand Down
30 changes: 15 additions & 15 deletions content/gsi/01-gsi.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">


<title>DA-documentation - The GSI assimilation system</title>
<title>Data Assimilation docs - The GSI assimilation system</title>
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
Expand Down Expand Up @@ -128,7 +128,7 @@
<div class="navbar-container container-fluid">
<div class="navbar-brand-container mx-auto">
<a class="navbar-brand" href="../../index.html">
<span class="navbar-title">DA-documentation</span>
<span class="navbar-title">Data Assimilation docs</span>
</a>
</div>
<div id="quarto-search" class="" title="Search"></div>
Expand Down Expand Up @@ -242,10 +242,10 @@ <h1 class="title">The GSI assimilation system</h1>


<p>The GSI (Gridpoint Statistical Interpolation) System, is a state-of-the-art data assimilation system initially developed by the Environmental Modeling Center at NCEP. It was designed as a traditional 3DVAR system applied in the gridpoint space of models to facilitate the implementation of inhomogeneous anisotropic covariances <span class="citation" data-cites="wu2002 purser2003a purser2003">(<a href="#ref-wu2002" role="doc-biblioref">Wu, Purser, and Parrish 2002</a>; <a href="#ref-purser2003a" role="doc-biblioref">Purser et al. 2003b</a>, <a href="#ref-purser2003" role="doc-biblioref">2003a</a>)</span>. It is designed to run on various computational platforms, create analyses for different numerical forecast models, and remain flexible enough to handle future scientific developments, such as the use of new observation types, improved data selection, and new state variables <span class="citation" data-cites="kleist2009">(<a href="#ref-kleist2009" role="doc-biblioref">Kleist et al. 2009</a>)</span>.</p>
<p>The- 3DVAR system replaced the NCEP regional grid-point operational analysis system by the North American Mesoscale Prediction System (NAM) in 2006 and the <em>Spectral Statistical Interpolation</em> (SSI) global analysis system used to generate <em>Global Forecast System</em> (GFS) initial conditions in 2007 <span class="citation" data-cites="kleist2009">(<a href="#ref-kleist2009" role="doc-biblioref">Kleist et al. 2009</a>)</span>. In recent years, GSI has evolved to include various data assimilation techniques for multiple operational applications, including 2DVAR [e.g., the <em>Real-Time Mesoscale Analysis</em> (RTMA) system; <span class="citation" data-cites="pondeca2011">Pondeca et al. (<a href="#ref-pondeca2011" role="doc-biblioref">2011</a>)</span>], the hybrid EnVar technique (e.g., data assimilation systems for the GFS, the <em>Rapid Refresh system</em> (RAP), the NAM, the HWRF, etc. ), and 4DVAR [e.g., the data assimilation system for NASA’s Goddard Earth Observing System, version 5 (GEOS-5); <span class="citation" data-cites="zhu2008">Zhu and Gelaro (<a href="#ref-zhu2008" role="doc-biblioref">2008</a>)</span>]. GSI also includes a hybrid 4D-EnVar approach that is currently used for GFS generation.</p>
<p>The 3DVAR system replaced the NCEP regional grid-point operational analysis system by the North American Mesoscale Prediction System (NAM) in 2006 and the <em>Spectral Statistical Interpolation</em> (SSI) global analysis system used to generate <em>Global Forecast System</em> (GFS) initial conditions in 2007 <span class="citation" data-cites="kleist2009">(<a href="#ref-kleist2009" role="doc-biblioref">Kleist et al. 2009</a>)</span>. In recent years, GSI has evolved to include various data assimilation techniques for multiple operational applications, including 2DVAR [e.g., the <em>Real-Time Mesoscale Analysis</em> (RTMA) system; <span class="citation" data-cites="pondeca2011">Pondeca et al. (<a href="#ref-pondeca2011" role="doc-biblioref">2011</a>)</span>], the hybrid EnVar technique (e.g., data assimilation systems for the GFS, the <em>Rapid Refresh system</em> (RAP), the NAM, the HWRF, etc. ), and 4DVAR [e.g., the data assimilation system for NASA’s Goddard Earth Observing System, version 5 (GEOS-5); <span class="citation" data-cites="zhu2008">Zhu and Gelaro (<a href="#ref-zhu2008" role="doc-biblioref">2008</a>)</span>]. GSI also includes a hybrid 4D-EnVar approach that is currently used for GFS generation.</p>
<p>In addition to the development of hybrid techniques, GSI allows the use of ensemble assimilation methods. To achieve this, it uses the same observation operator as the variational methods to compare the preliminary field or background with the observations. In this way the exhaustive quality controls developed for variational methods are also applied in ensemble assimilation methods. The EnKF code was developed by the Earth System Research Lab (ESRL) of the National Oceanic and Atmospheric Administration (NOAA) in collaboration with the scientific community. It contains two different algorithms for calculating the analysis increment, the serial Ensemble Square Root Filter <span class="citation" data-cites="whitaker2002">(EnSRF, <a href="#ref-whitaker2002" role="doc-biblioref">Whitaker and Hamill 2002</a>)</span> and the LETKF <span class="citation" data-cites="hunt2007">(<a href="#ref-hunt2007" role="doc-biblioref">Hunt, Kostelich, and Szunyogh 2007</a>)</span> contributed by Yoichiro Ota of the Japan Meteorological Agency (JMA).</p>
<p>To reduce the impact of spurious covariances on the increment applied to the analysis, ensemble systems apply a localization to the covariance matrix of the errors of the observations <span class="math inline">\(R\)</span> in both the horizontal and vertical directions. GSI uses a polynomial of order 5 to reduce the impact of each observation gradually until a limiting distance is reached at which the impact is zero. The vertical location scale is defined in terms of the logarithm of the pressure and the horizontal scale is usually defined in kilometers. These parameters are important in obtaining a good analysis and depend on factors such as the size of the ensemble and the resolution of the model.</p>
<p>GSI uses the Community Radiative Transfer Model <span class="citation" data-cites="liu2008">(CRTM, <a href="#ref-liu2008" role="doc-biblioref">Liu et al. 2008</a>)</span> as an operator for the radiance observations that calculates the brightness temperature simulated by the model in order to compare it with satellite sensor observations. GSI also implements a bias correction algorithm for the satellite radiance observations. The preliminary field estimate with the CRMT is compared with the radiance observations to obtain the innovation. This innovation is then used to calculate a bias that is applied to an updated innovation. This process can be repeated several times until the innovation and the bias correction coefficients converge.</p>
<p>To reduce the impact of spurious covariances on the increment applied to the analysis, ensemble systems apply a localization to the covariance matrix of the errors of the observations <span class="math inline">\(R\)</span> in both the horizontal and vertical directions. GSI uses a polynomial of order 5 to reduce the impact of each observation gradually until a limiting distance is reached at which the impact is zero. The vertical localization scale is defined in terms of the logarithm of the pressure and the horizontal scale is usually defined in kilometers. These parameters are important in obtaining a good analysis and depend on factors such as the size of the ensemble and the resolution of the model.</p>
<p>GSI uses the Community Radiative Transfer Model <span class="citation" data-cites="liu2008">(CRTM, <a href="#ref-liu2008" role="doc-biblioref">Liu et al. 2008</a>)</span> as an operator for the radiance observations that calculates the brightness temperature simulated by the model in order to compare it with satellite observations. GSI also implements a bias correction algorithm for the satellite radiance observations. The preliminary field estimated with CRMT is compared with the radiance observations to obtain the innovation. This innovation is then used to calculate a bias that is then applied to an updated innovation. This process can be repeated several times until the innovation and the bias correction coefficients converge.</p>
<section id="available-observations-for-assimilation" class="level2">
<h2 class="anchored" data-anchor-id="available-observations-for-assimilation">Available observations for assimilation</h2>
<p>Here is the list of observations that can be assimilated by GSI. In bold are the observations for with I have experience and/or the ones <a href="https://github.com/paocorrales/comGSIv3.7_EnKFv1.3">I’ve adapted the code for it</a>.</p>
Expand Down Expand Up @@ -321,7 +321,7 @@ <h3 class="anchored" data-anchor-id="other-observations">Other observations</h3>
</section>
<section id="running-gsi" class="level2">
<h2 class="anchored" data-anchor-id="running-gsi">Running GSI</h2>
<p>Every assimilation cycle starts with the background, a forecast generated using a numerical model (WRF-ARW for this guide), that was initialized from previous analysis and observations (in bufr format) that enters the GSI system. GSI will also need “fixed” files with information about the observations. This files define which observations are going to be assimilated, they errors and quality control options.</p>
<p>Every assimilation cycle starts with the background, a forecast generated using a numerical model (WRF-ARW for this guide), that was initialized from previous analysis and observations (in bufr format) that enters the GSI system. GSI will also need “fixed” files with information about the observations. This “fix” files define which observations are going to be assimilated, they errors and quality control options.</p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="img/cycle_diagram.png" class="img-fluid figure-img" alt="Diagram that shows a cycle. First the background (forecasts generated using a numerical model, WRF-ARW, initialized from previous analysis) and Observations (from bufr files) enters the GSI system. Inside the system, the Observation Operator takes care of the quality control and bias correction and then calculates the innovation and generates the diag files. Then the ENKF part calculates the update appling the innovation to the background to generate the analysis. The analysis is used to create a new background to star the cycle again"></p>
Expand All @@ -340,8 +340,8 @@ <h2 class="anchored" data-anchor-id="running-gsi">Running GSI</h2>
<li>WRF-Chem GOCART input fields with NetCDF format</li>
<li>CMAQ binary file</li>
</ul>
<p>And the official tutorials are a good starting point to grasp the use of this options.</p>
<p>GSI can also be run <em>without observations</em> to test the code, this is with a single synthetic observation defined in the SINGLEOB_TEST section in the namelist.</p>
<p>And the <a href="https://dtcenter.org/community-code/gridpoint-statistical-interpolation-gsi/gsi-tutorial-online">official tutorials in the DTCenter webpage</a> are a good starting point to grasp the use of this options.</p>
<p>GSI can also be run <em>without observations</em> to test the code, this is with a single synthetic observation defined in the SINGLEOB_TEST section in the gsi namelist. Another thing to try at the beginning.</p>
<p>The fixed files are located in the <code>fix/</code> folder and includes statistic files, configuration files, bias correction files, and CRTM coefficient files<a href="#fn1" class="footnote-ref" id="fnref1" role="doc-noteref"><sup>1</sup></a>. The information of the configuration files is saved in the output files after running GSI.</p>
<table class="table">
<colgroup>
Expand Down Expand Up @@ -379,40 +379,40 @@ <h2 class="anchored" data-anchor-id="running-gsi">Running GSI</h2>
</tr>
<tr class="odd">
<td>satinfo</td>
<td>satellite channel information file</td>
<td>Satellite channel information file</td>
<td>global_satinfo.txt</td>
</tr>
<tr class="even">
<td>pcpinfo</td>
<td>precipitation rate observation information file</td>
<td>Precipitation rate observation information file</td>
<td>global_pcpinfo.txt</td>
</tr>
<tr class="odd">
<td>ozinfo</td>
<td>ozone observation information file</td>
<td>Ozone observation information file</td>
<td>global_ozinfo.txt</td>
</tr>
<tr class="even">
<td>satbias_angle</td>
<td>satellite scan angle dependent bias correction file</td>
<td>Satellite scan angle dependent bias correction file</td>
<td>global_satangbias.txt</td>
</tr>
<tr class="odd">
<td>satbias_in</td>
<td>satellite mass bias correction coefficient file</td>
<td>Satellite mass bias correction coefficient file</td>
<td>sample.satbias</td>
</tr>
<tr class="even">
<td>satbias_in</td>
<td>combined satellite angle dependent and mass bias correction coefficient file</td>
<td>Combined satellite angle dependent and mass bias correction coefficient file</td>
<td>gdas1.t00z.abias.new</td>
</tr>
</tbody>
</table>
</section>
<section id="about-the-gsi-code" class="level2">
<h2 class="anchored" data-anchor-id="about-the-gsi-code">About the GSI code</h2>
<p>GSI is writen in fortran and the code is separated in more than 5 hundred files. While GSI has 2 good user guides, not everything is documented and sometimes you will need to read the code.</p>
<p>GSI is written in fortran and the code is separated in more than 5 hundred files. While GSI has <a href="https://github.com/paocorrales/comGSIv3.7_EnKFv1.3/tree/main/docs">2 good user guides</a>, not everything is documented and sometimes you will need to read the code.</p>
<p>To swim around the code I found the <code>grep -r "key word"</code> command very useful. Each file and subroutine inside it has a header with information about what it does, changes and input and output arguments. It’s worth mentioning a few key files:</p>
<ul>
<li><code>gsimain.f90</code> and <code>gsimod.f90</code> are the main files that control the system. <code>gsimain.f90</code> has a list off code errors and the possible cause.</li>
Expand Down
Loading

0 comments on commit 879e91f

Please sign in to comment.