diff --git a/.gitignore b/.gitignore index 3b9dfa9..3e25a6f 100644 --- a/.gitignore +++ b/.gitignore @@ -131,5 +131,17 @@ dmypy.json # Pyre type checker .pyre/ -.swp* +# Ignore the following +*.[aox] +*.mod +*.la +*.lo + +# Ignore editor caches +.*.sw[a-p] +*DS_Store* *~ + +# Ignore the following directories anywhere in the tree +bin/ + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..8000a6f --- /dev/null +++ b/LICENSE @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random + Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/README.md b/README.md index 1070c74..70bb855 100644 --- a/README.md +++ b/README.md @@ -1,50 +1,32 @@ -__Kevin Dougherty__ __September 2020__ +__Kevin Dougherty__ # PyGSI -Scripts used to validate GSI diagnostic files for JEDI - - -# Anaconda Environment -> Please read the documents for managing environments. -> Reference: https://github.com/Unidata/unidata-users-workshop -> Reference: https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html -> Reference: https://www.youtube.com/watch?v=15DNH25UCi0 - -I installed the Anaconda python distribution and created a new environment using the 'environment.yml' file provided in this directory. The name of the environment is DA_Diags. You can copy the the .yml file and run the following command in your terminal - - conda env create -f ./environment.yml - -On a windows computer, to activate the `DA_Diags` environment, do this in the Windows Command Prompt: - - activate DA_Diags - -Or, if you are in the PowerShell - - cmd - activate DA_Diags - -If you are using a `bash` shell in Linux: - - conda init bash # Only need to do this once to initialize the correct shell - conda activate DA_Diags - -If you are using a `tcsh` shell in Linux: - - conda init tsch # Only need to do this once to initialize the correct shell - conda activate DA_Diags - - -## Update environment -Deactivate the environment - - conda deactivate DA_Diags - -Update the environment.yml file, and update the conda environment - - conda env update -f environment.yml - -List all the available environments - - conda info --envs +PyGSI is a collection of tools that read, filter, and plot diagnostic GSI netCDF4 files. + +# Environment + +## On Supported Platforms +To load the proper environment when working on Hera, use the following commands: +``` +cd PyGSI +module use modulefiles +module load PyGSI/hera +``` + +To load the environment on Orion, use the following commands: +``` +cd PyGSI +module use modulefiles +module load PyGSI/orion +``` + +## On Local Machine +If working on a local machine, users can install PyGSI using pip. +``` +cd PyGSI +pip install . +``` + +For further instructions on how to use the tools within PyGSI, users can navigate to the documentation page here: [https://noaa-emc.github.io/PyGSI/#/](https://noaa-emc.github.io/PyGSI/#/). diff --git a/fix/cloudy_radiance_info.txt b/fix/cloudy_radiance_info.txt new file mode 100644 index 0000000..c5a9664 --- /dev/null +++ b/fix/cloudy_radiance_info.txt @@ -0,0 +1,62 @@ +radiance_mod_instr_input:: +!obsname obsloc ex_obserr ex_biascor cld_effect + gmi sea ex_obserr3 .true. .false. + amsua sea ex_obserr1 .true. .true. + atms sea ex_obserr1 .true. .true. +:: + +obs_amsua:: +! Parameters for the observation error model +! cclr [kg/m2] & ccld [kg/m2]: range of cloud amounts +! over which the main increase in error take place +! ch cclr ccld + 1 0.050 0.600 + 2 0.030 0.450 + 3 0.030 0.400 + 4 0.020 0.450 + 5 0.000 1.000 + 6 0.100 1.500 + 15 0.030 0.200 +:: + +obs_atms:: +! Parameters for the observation error model +! cclr [kg/m2] & ccld [kg/m2]: range of cloud amounts +! over which the main increase in error take place +! ch cclr ccld + 1 0.030 0.350 + 2 0.030 0.380 + 3 0.030 0.400 + 4 0.020 0.450 + 5 0.030 0.500 + 6 0.080 1.000 + 7 0.150 1.000 + 16 0.020 0.350 + 17 0.030 0.500 + 18 0.030 0.500 + 19 0.030 0.500 + 20 0.030 0.500 + 21 0.050 0.500 + 22 0.100 0.500 +:: + +obs_gmi:: +! Parameters for the observation error model +! cclr [kg/m2] & ccld [kg/m2]: range of cloud amounts +! over which the main increase in error take place +! ch cclr ccld + 1 0.050 0.200 + 2 0.050 0.200 + 3 0.050 0.200 + 4 0.050 0.200 + 5 0.050 0.200 + 6 0.050 0.200 + 7 0.050 0.200 + 8 0.050 0.200 + 9 0.050 0.200 + 10 0.050 0.300 + 11 0.050 0.200 + 12 0.050 0.300 + 13 0.050 0.300 +:: + diff --git a/modulefiles/PyGSI/hera.lua b/modulefiles/PyGSI/hera.lua new file mode 100644 index 0000000..e8af482 --- /dev/null +++ b/modulefiles/PyGSI/hera.lua @@ -0,0 +1,20 @@ +help([[ +Load environment for running PyGSI. +]]) + +local pkgName = myModuleName() +local pkgVersion = myModuleVersion() +local pkgNameVer = myModuleFullName() + +conflict(pkgName) + +prepend_path("MODULEPATH", '/scratch1/NCEPDEV/da/python/opt/modulefiles/stack') + +load("hpc/1.2.0") +load("miniconda3/4.6.14") +load("eva/1.0.0") + +whatis("Name: ".. pkgName) +whatis("Version: ".. pkgVersion) +whatis("Category: PyGSI") +whatis("Description: Load all libraries needed for PyGSI") diff --git a/modulefiles/PyGSI/orion.lua b/modulefiles/PyGSI/orion.lua new file mode 100644 index 0000000..6cbb557 --- /dev/null +++ b/modulefiles/PyGSI/orion.lua @@ -0,0 +1,19 @@ +-- NOAA HPC Orion Modulefile for PyGSI +help([[ +]]) + +local pkgName = myModuleName() +local pkgVersion = myModuleVersion() +local pkgNameVer = myModuleFullName() + +prepend_path("MODULEPATH", '/work2/noaa/da/python/opt/modulefiles/stack') + +load("hpc/1.2.0") +load("miniconda3/4.6.14") +load("eva/1.0.0") + +whatis("Name: ".. pkgName) +whatis("Version: " .. pkgVersion) +whatis("Category: PyGSI") +whatis("Description: Load all libraries needed for PyGSI") + diff --git a/modulefiles/modulefile.PyGSI.hera.bash b/modulefiles/modulefile.PyGSI.hera.bash deleted file mode 100644 index 79c21a4..0000000 --- a/modulefiles/modulefile.PyGSI.hera.bash +++ /dev/null @@ -1,10 +0,0 @@ -export PATH="/scratch1/NCEPDEV/da/Kevin.Dougherty/anaconda3/bin:$PATH" - -PyGSIdir="$(cd "$(dirname "$BASH_SOURCE")/../"; pwd)" -export PYTHONPATH="${PYTHONPATH}:${PyGSIdir}" - -source /scratch1/NCEPDEV/da/Kevin.Dougherty/anaconda3/etc/profile.d/conda.sh - -conda init bash -source ~/.bashrc -conda activate PyGSI diff --git a/modulefiles/modulefile.PyGSI.hera.tcsh b/modulefiles/modulefile.PyGSI.hera.tcsh deleted file mode 100644 index 7bd88ad..0000000 --- a/modulefiles/modulefile.PyGSI.hera.tcsh +++ /dev/null @@ -1,13 +0,0 @@ -setenv PATH /scratch1/NCEPDEV/da/Kevin.Dougherty/anaconda3/bin\:$PATH - -set srccmd=($_) -set pwddir=`pwd` -set mydir=`dirname $srccmd[2]` -set PyGSIdir=`cd $mydir/../; pwd` -setenv PYTHONPATH $PyGSIdir\:$PYTHONPATH - -source /scratch1/NCEPDEV/da/Kevin.Dougherty/anaconda3/etc/profile.d/conda.csh - -conda init tcsh -source ~/.tcshrc -conda activate PyGSI diff --git a/pyGSI/spatial_bin.py b/pyGSI/spatial_bin.py deleted file mode 100644 index 9608f72..0000000 --- a/pyGSI/spatial_bin.py +++ /dev/null @@ -1,404 +0,0 @@ -#!/usr/bin/env python - -import numpy as np -import itertools - - -def bin_data(data, lat, lon, binsize=1, uv_data=False, pressure=None): - """ - The main function to spatially bin the data. - Inputs: - data : data to be binned - lat : original data lats - lon : original data lons - binsize : integer of the size of binning in degrees - latitude/longitude (Default = 1) - uv_data : if using uv_data, will be True (Default = False) - pressure : original data pressure values (Default = None) - Outputs: - binned_data, binned_pressure - """ - - # Create lats and lons based on binsize - lonlen = 360 - latlen = 180 - - lon_lowerlim = 0 - lon_upperlim = 360 - - lat_lowerlim = -90 - lat_upperlim = 90 - - if latlen % binsize == 0 and lonlen % binsize == 0: - latbin = int(latlen/binsize) - lonbin = int(lonlen/binsize) - n_deg = binsize/2 - - ll_lats = np.linspace(lat_lowerlim+(n_deg), - lat_upperlim-(n_deg), - latbin) - - ll_lons = np.linspace(lon_lowerlim+(n_deg), - lon_upperlim-(n_deg), - lonbin) - - else: - print('ERROR: Binsize does not work for grid shape (180,360). ' - 'Please use different binsize.') - return - - paramlist = list(itertools.product(ll_lats, ll_lons)) - - # Bin Data - if uv_data: - binned_u_data = np.full((latbin, lonbin), np.nan, dtype=object) - binned_v_data = np.full((latbin, lonbin), np.nan, dtype=object) - - if pressure is not None: - binned_pressure = np.full((latbin, lonbin), np.nan, dtype=object) - - for val in paramlist: - # Get index of 1x1 grid lat and lon - latidx = np.where(ll_lats == val[0]) - lonidx = np.where(ll_lons == val[1]) - # values of the 1x1 grid lat and lon - binnedlons = val[1] - binnedlats = val[0] - - # find instances where data is within 1x1 - # grid point of orginal data - data_idx = np.where((lon >= binnedlons - n_deg) & - (lon <= binnedlons + n_deg) & - (lat >= binnedlats - n_deg) & - (lat <= binnedlats + n_deg)) - - latlon_idx = [latidx[0][0], lonidx[0][0]] - - # calculate stats if there is data at this grid point, - # else append np.nan - if len(data_idx[0]) > 0: - u = data['u'][data_idx] - v = data['v'][data_idx] - - binned_u_data[latlon_idx[0], latlon_idx[1]] = u - binned_v_data[latlon_idx[0], latlon_idx[1]] = v - - if pressure is not None: - p = pressure[data_idx] - binned_pressure[latlon_idx[0], latlon_idx[1]] = p - - if pressure is not None: - return binned_u_data, binned_v_data, binned_pressure - - else: - return binned_u_data, binned_v_data - - else: - binned_data = np.full((latbin, lonbin), np.nan, dtype=object) - if pressure is not None: - binned_pressure = np.full((latbin, lonbin), np.nan, dtype=object) - - for val in paramlist: - # Get index of grid lat and lon - latidx = np.where(ll_lats == val[0]) - lonidx = np.where(ll_lons == val[1]) - # values of the 1x1 grid lat and lon - binnedlons = val[1] - binnedlats = val[0] - - # find instances where data is within 1x1 grid point - data_idx = np.where((lon >= binnedlons - n_deg) & - (lon <= binnedlons + n_deg) & - (lat >= binnedlats - n_deg) & - (lat <= binnedlats + n_deg)) - - latlon_idx = [latidx[0][0], lonidx[0][0]] - - # calculate stats if there is data at this grid point - if len(data_idx[0]) > 0: - d = data[data_idx] - binned_data[latlon_idx[0], latlon_idx[1]] = d - - if pressure is not None: - p = pressure[data_idx] - binned_pressure[latlon_idx[0], latlon_idx[1]] = p - - if pressure is not None: - return binned_data, binned_pressure - - else: - return binned_data - - -def spatial_bin(data, metadata, lat, lon, binsize=1, - pressure=None, pbins=None): - """ - Function to spatially bin data. Has the option to bin by pressures as well. - Inputs: - data : data to be binned - lat : original data lats - lon : original data lons - binsize : integer of the size of binning in degrees - latitude/longitude (Default = 1) - ** ONLY APPLICABLE FOR CONVENTIONAL DATA ** - pressure : original data pressure values (Default = None) - pbins : list of pressures in ascending order of what pressure - levels data will be binned into. Must provide data for - pressure to be used. (Default = None) - Outputs: - binned_data : a dictionary of statistics calculated for the newly - binned data. If binning by pressure for conventional - data, will return 3D data with the first index being - all pressure levels, followed by n amount of indices - based on the number of pressure levels given in pbins - """ - - uv_data = True if 'Variable' in metadata and\ - metadata['Variable'] == 'uv' else False - - if pbins is None: - pressure_list = [None, 0, 100, 250, 500, 700, 850, 925, 1000, 1100] - else: - pbins.insert(0, None) - pressure_list = pbins - - if uv_data: - if pressure.any() is None: - binned_u_data, binned_v_data = bin_data(data, lat, lon, - binsize=binsize, - uv_data=uv_data, - pressure=pressure) - - rows = binned_u_data.shape[0] - cols = binned_u_data.shape[1] - - binned_u_nobs = np.full((rows, cols), np.nan) - binned_u_mean = np.full((rows, cols), np.nan) - binned_u_max = np.full((rows, cols), np.nan) - binned_u_min = np.full((rows, cols), np.nan) - binned_u_std = np.full((rows, cols), np.nan) - binned_u_rmse = np.full((rows, cols), np.nan) - - binned_v_nobs = np.full((rows, cols), np.nan) - binned_v_mean = np.full((rows, cols), np.nan) - binned_v_max = np.full((rows, cols), np.nan) - binned_v_min = np.full((rows, cols), np.nan) - binned_v_std = np.full((rows, cols), np.nan) - binned_v_rmse = np.full((rows, cols), np.nan) - - for x in range(0, rows): - for y in range(0, cols): - if not np.isnan(binned_u_data[x, y]).any(): - binned_u_nobs[x, y] = len(binned_u_data[x, y]) - binned_u_mean[x, y] = np.mean(binned_u_data[x, y]) - binned_u_max[x, y] = np.max(binned_u_data[x, y]) - binned_u_min[x, y] = np.min(binned_u_data[x, y]) - binned_u_std[x, y] = np.std(binned_u_data[x, y]) - binned_u_rmse[x, y] = np.sqrt( - np.nanmean(np.square(binned_u_data[x, y]))) - - binned_v_nobs[x, y] = len(binned_v_data[x, y]) - binned_v_mean[x, y] = np.mean(binned_v_data[x, y]) - binned_v_max[x, y] = np.max(binned_v_data[x, y]) - binned_v_min[x, y] = np.min(binned_v_data[x, y]) - binned_v_std[x, y] = np.std(binned_v_data[x, y]) - binned_v_rmse[x, y] = np.sqrt( - np.nanmean(np.square(binned_v_data[x, y]))) - - else: - binned_u_data, binned_v_data, binned_pressure = bin_data( - data, lat, lon, binsize=binsize, - uv_data=uv_data, pressure=pressure) - - rows = binned_u_data.shape[0] - cols = binned_u_data.shape[1] - - n_plevs = len(pressure_list)-1 - - binned_u_nobs = np.full((rows, cols, n_plevs), np.nan) - binned_u_mean = np.full((rows, cols, n_plevs), np.nan) - binned_u_max = np.full((rows, cols, n_plevs), np.nan) - binned_u_min = np.full((rows, cols, n_plevs), np.nan) - binned_u_std = np.full((rows, cols, n_plevs), np.nan) - binned_u_rmse = np.full((rows, cols, n_plevs), np.nan) - - binned_v_nobs = np.full((rows, cols, n_plevs), np.nan) - binned_v_mean = np.full((rows, cols, n_plevs), np.nan) - binned_v_max = np.full((rows, cols, n_plevs), np.nan) - binned_v_min = np.full((rows, cols, n_plevs), np.nan) - binned_v_std = np.full((rows, cols, n_plevs), np.nan) - binned_v_rmse = np.full((rows, cols, n_plevs), np.nan) - - for i, pressure in enumerate(pressure_list[:-1]): - for x in range(0, rows): - for y in range(0, cols): - if not np.isnan(binned_u_data[x, y]).any(): - if i == 0: - binned_u_nobs[x, y, i] = len( - binned_u_data[x, y]) - binned_u_mean[x, y, i] = np.mean( - binned_u_data[x, y]) - binned_u_max[x, y, i] = np.max( - binned_u_data[x, y]) - binned_u_min[x, y, i] = np.min( - binned_u_data[x, y]) - binned_u_std[x, y, i] = np.std( - binned_u_data[x, y]) - binned_u_rmse[x, y, i] = np.sqrt( - np.nanmean(np.square(binned_u_data[x, y]))) - - binned_v_nobs[x, y, i] = len( - binned_v_data[x, y]) - binned_v_mean[x, y, i] = np.mean( - binned_v_data[x, y]) - binned_v_max[x, y, i] = np.max( - binned_v_data[x, y]) - binned_v_min[x, y, i] = np.min( - binned_v_data[x, y]) - binned_v_std[x, y, i] = np.std( - binned_v_data[x, y]) - binned_v_rmse[x, y, i] = np.sqrt( - np.nanmean(np.square(binned_v_data[x, y]))) - else: - pressure_idx = np.where( - (binned_pressure[x, y] > - pressure_list[i]) & - (binned_pressure[x, y] < - pressure_list[i+1])) - if len(pressure_idx[0]) > 0: - binned_u_nobs[x, y, i] = len( - binned_u_data[x, y][pressure_idx]) - binned_u_mean[x, y, i] = np.mean( - binned_u_data[x, y][pressure_idx]) - binned_u_max[x, y, i] = np.max( - binned_u_data[x, y][pressure_idx]) - binned_u_min[x, y, i] = np.min( - binned_u_data[x, y][pressure_idx]) - binned_u_std[x, y, i] = np.std( - binned_u_data[x, y][pressure_idx]) - binned_u_rmse[x, y, i] = np.sqrt( - np.nanmean(np.square( - binned_u_data[ - x, y][pressure_idx]))) - - binned_v_nobs[x, y, i] = len( - binned_v_data[x, y][pressure_idx]) - binned_v_mean[x, y, i] = np.mean( - binned_v_data[x, y][pressure_idx]) - binned_v_max[x, y, i] = np.max( - binned_v_data[x, y][pressure_idx]) - binned_v_min[x, y, i] = np.min( - binned_v_data[x, y][pressure_idx]) - binned_v_std[x, y, i] = np.std( - binned_v_data[x, y][pressure_idx]) - binned_v_rmse[x, y, i] = np.sqrt( - np.nanmean( - np.square( - binned_v_data[ - x, y][pressure_idx]))) - - binned_data = {'u': {'binned_nobs': binned_u_nobs, - 'binned_mean': binned_u_mean, - 'binned_max': binned_u_max, - 'binned_min': binned_u_min, - 'binned_std': binned_u_std, - 'binned_rmse': binned_u_rmse - }, - 'v': {'binned_nobs': binned_v_nobs, - 'binned_mean': binned_v_mean, - 'binned_max': binned_v_max, - 'binned_min': binned_v_min, - 'binned_std': binned_v_std, - 'binned_rmse': binned_v_rmse - } - } - - return binned_data - - else: - if pressure is None: - binned_data = bin_data(data, lat, lon, binsize=binsize) - - rows = binned_data.shape[0] - cols = binned_data.shape[1] - - binned_nobs = np.full((rows, cols), np.nan) - binned_mean = np.full((rows, cols), np.nan) - binned_max = np.full((rows, cols), np.nan) - binned_min = np.full((rows, cols), np.nan) - binned_std = np.full((rows, cols), np.nan) - binned_rmse = np.full((rows, cols), np.nan) - - for x in range(0, rows): - for y in range(0, cols): - if not np.isnan(binned_data[x, y]).any(): - binned_nobs[x, y] = len(binned_data[x, y]) - binned_mean[x, y] = np.mean(binned_data[x, y]) - binned_max[x, y] = np.max(binned_data[x, y]) - binned_min[x, y] = np.min(binned_data[x, y]) - binned_std[x, y] = np.std(binned_data[x, y]) - binned_rmse[x, y] = np.sqrt( - np.nanmean(np.square(binned_data[x, y]))) - - else: - binned_data, binned_pressure = bin_data(data, lat, lon, - binsize=binsize, - uv_data=False, - pressure=pressure) - rows = binned_data.shape[0] - cols = binned_data.shape[1] - - n_plevs = len(pressure_list)-1 - - binned_nobs = np.full((rows, cols, n_plevs), np.nan) - binned_mean = np.full((rows, cols, n_plevs), np.nan) - binned_max = np.full((rows, cols, n_plevs), np.nan) - binned_min = np.full((rows, cols, n_plevs), np.nan) - binned_std = np.full((rows, cols, n_plevs), np.nan) - binned_rmse = np.full((rows, cols, n_plevs), np.nan) - - for i, pressure in enumerate(pressure_list[:-1]): - for x in range(0, rows): - for y in range(0, cols): - if not np.isnan(binned_data[x, y]).any(): - if i == 0: - binned_nobs[x, y, i] = len(binned_data[x, y]) - binned_mean[x, y, i] = np.mean( - binned_data[x, y]) - binned_max[x, y, i] = np.max(binned_data[x, y]) - binned_min[x, y, i] = np.min(binned_data[x, y]) - binned_std[x, y, i] = np.std(binned_data[x, y]) - binned_rmse[x, y, i] = np.sqrt( - np.nanmean(np.square(binned_data[x, y]))) - else: - pressure_idx = np.where( - (binned_pressure[x, y] > - pressure_list[i]) & - (binned_pressure[x, y] < - pressure_list[i+1])) - if len(pressure_idx[0]) > 0: - binned_nobs[x, y, i] = len( - binned_data[x, y][pressure_idx]) - binned_mean[x, y, i] = np.mean( - binned_data[x, y][pressure_idx]) - binned_max[x, y, i] = np.max( - binned_data[x, y][pressure_idx]) - binned_min[x, y, i] = np.min( - binned_data[x, y][pressure_idx]) - binned_std[x, y, i] = np.std( - binned_data[x, y][pressure_idx]) - binned_rmse[x, y, i] = np.sqrt( - np.nanmean( - np.square( - binned_data[ - x, y][pressure_idx]))) - - binned_data = {'binned_nobs': binned_nobs, - 'binned_mean': binned_mean, - 'binned_max': binned_max, - 'binned_min': binned_min, - 'binned_std': binned_std, - 'binned_rmse': binned_rmse - } - - return binned_data diff --git a/requirements-github.txt b/requirements-github.txt new file mode 100644 index 0000000..399f901 --- /dev/null +++ b/requirements-github.txt @@ -0,0 +1,11 @@ +pyyaml>=6.0 +pycodestyle==2.9.1 +netCDF4==1.6.1 +matplotlib==3.5.2 +cartopy==0.21.0 +scikit-learn==1.1.2 +xarray==2022.6.0 +pytest +Shapely +pdoc +seaborn==0.12 diff --git a/scripts/batch_conv_diags.sh b/scripts/batch_conv_diags.sh index ef52c62..272e43d 100644 --- a/scripts/batch_conv_diags.sh +++ b/scripts/batch_conv_diags.sh @@ -10,9 +10,9 @@ # PyGSIdir=path/to/PyGSI_Directory PyGSIdir=../ OUTDIR=../ -YAML=$PyGSIdir/test_conv_yaml.yaml +YAML=$PyGSIdir/yamls/diag_conv_t_ges.yaml # load environment needed to run python scripts -source $PyGSIdir/modulefiles/modulefile.PyGSI.hera.bash +# source $PyGSIdir/modulefiles/modulefile.PyGSI.hera.bash python $PyGSIdir/scripts/mp_plot_conv_diags.py -n 20 -y $YAML -o $OUTDIR diff --git a/scripts/batch_ozone_diags.sh b/scripts/batch_ozone_diags.sh index 9452e36..4522957 100644 --- a/scripts/batch_ozone_diags.sh +++ b/scripts/batch_ozone_diags.sh @@ -10,9 +10,9 @@ # PyGSIdir=path/to/PyGSI_Directory PyGSIdir=../ OUTDIR=../ -YAML=$PyGSIdir/test_ozone_yaml.yaml +YAML=$PyGSIdir/yamls/diag_ompsnp_npp_ges.yaml # load environment needed to run python scripts -source $PyGSIdir/modulefiles/modulefile.PyGSI.hera.bash +# source $PyGSIdir/modulefiles/modulefile.PyGSI.hera.bash python $PyGSIdir/scripts/mp_plot_ozone_diags.py -n 20 -y $YAML -o $OUTDIR \ No newline at end of file diff --git a/scripts/batch_sat_diags.sh b/scripts/batch_sat_diags.sh index eb2c581..468c0b6 100644 --- a/scripts/batch_sat_diags.sh +++ b/scripts/batch_sat_diags.sh @@ -10,9 +10,9 @@ # PyGSIdir=path/to/PyGSI_Directory PyGSIdir=../ OUTDIR=../ -YAML=$PyGSIdir/test_sat_yaml.yaml +YAML=$PyGSIdir/yamls/diag_amsua_metop-a_ges.yaml # load environment needed to run python scripts -source $PyGSIdir/modulefiles/modulefile.PyGSI.hera.bash +# source $PyGSIdir/modulefiles/modulefile.PyGSI.hera.bash python $PyGSIdir/scripts/mp_plot_sat_diags.py -n 20 -y $YAML -o $OUTDIR diff --git a/scripts/mp_plot_conv_diags.py b/scripts/mp_plot_conv_diags.py index 0877afb..b05c454 100644 --- a/scripts/mp_plot_conv_diags.py +++ b/scripts/mp_plot_conv_diags.py @@ -47,7 +47,7 @@ def _uv_plotting(df, lats, lons, data_type, analysis_use, bias_correction, plot_map(lats, lons, data[key], metadata, outdir) -def plotting(conv_config, diag_file, data_type, plot_type, outdir): +def plotting(conv_config, diag_file, data_type, plot_type, var_yaml, outdir): obsid = conv_config['observation id'] obsubtype = conv_config['observation subtype'] @@ -105,9 +105,9 @@ def plotting(conv_config, diag_file, data_type, plot_type, outdir): data = df[column].to_numpy() if np.isin('histogram', plot_type): - plot_histogram(data, metadata, outdir) + plot_histogram(data, metadata, var_yaml, outdir) if np.isin('spatial', plot_type): - plot_map(lats, lons, data, metadata, outdir) + plot_map(lats, lons, data, metadata, var_yaml, outdir) if __name__ == '__main__': @@ -120,6 +120,8 @@ def plotting(conv_config, diag_file, data_type, plot_type, outdir): help="Path to yaml file with diag data") ap.add_argument("-o", "--outdir", help="Out directory where files will be saved") + ap.add_argument("-v", "--varyaml", required=False, + help="Path to yaml file with specific variable information") myargs = ap.parse_args() @@ -145,10 +147,13 @@ def plotting(conv_config, diag_file, data_type, plot_type, outdir): "of the plot types you would like to create. " "i.e. ['histogram', 'spatial']") + variable_yaml = myargs.varyaml if myargs.varyaml else None + p = Pool(processes=nprocs) p.map(partial(plotting, diag_file=data_path, data_type=data_type, plot_type=plot_type, + var_yaml=variable_yaml, outdir=outdir), work) print(datetime.now() - start_time) diff --git a/scripts/mp_plot_ozone_diags.py b/scripts/mp_plot_ozone_diags.py index 0b30e8a..c185541 100644 --- a/scripts/mp_plot_ozone_diags.py +++ b/scripts/mp_plot_ozone_diags.py @@ -11,7 +11,7 @@ start_time = datetime.now() -def plotting(sat_config, diag_file, data_type, plot_type, outdir): +def plotting(ozone_config, diag_file, data_type, plot_type, var_yaml, outdir): analysis_use = ozone_config['analysis use'][0] layer = ozone_config['layer'][0] @@ -55,9 +55,9 @@ def plotting(sat_config, diag_file, data_type, plot_type, outdir): data = df[dict_key][column].to_numpy() if np.isin('histogram', plot_type): - plot_histogram(data, metadata, outdir) + plot_histogram(data, metadata, var_yaml, outdir) if np.isin('spatial', plot_type): - plot_map(lats, lons, data, metadata, outdir) + plot_map(lats, lons, data, metadata, var_yaml, outdir) if __name__ == '__main__': @@ -70,6 +70,8 @@ def plotting(sat_config, diag_file, data_type, plot_type, outdir): help="Path to yaml file with diag data") ap.add_argument("-o", "--outdir", help="Out directory where files will be saved") + ap.add_argument("-v", "--varyaml", required=False, + help="Path to yaml file with specific variable information") myargs = ap.parse_args() @@ -84,7 +86,7 @@ def plotting(sat_config, diag_file, data_type, plot_type, outdir): with open(input_yaml, 'r') as file: parsed_yaml_file = yaml.load(file, Loader=yaml.FullLoader) - work = parsed_yaml_file['diagnostic']['radiance'] + work = parsed_yaml_file['diagnostic']['ozone'] data_type = parsed_yaml_file['diagnostic']['data type'] data_path = parsed_yaml_file['diagnostic']['path'] try: @@ -95,4 +97,13 @@ def plotting(sat_config, diag_file, data_type, plot_type, outdir): "of the plot types you would like to create. " "i.e. ['histogram', 'spatial']") + variable_yaml = myargs.varyaml if myargs.varyaml else None + + p = Pool(processes=nprocs) + p.map(partial(plotting, diag_file=data_path, + data_type=data_type, + plot_type=plot_type, + var_yaml=variable_yaml, + outdir=outdir), work) + print(datetime.now() - start_time) diff --git a/scripts/mp_plot_sat_diags.py b/scripts/mp_plot_sat_diags.py index 07d46d1..9e36a61 100644 --- a/scripts/mp_plot_sat_diags.py +++ b/scripts/mp_plot_sat_diags.py @@ -12,7 +12,7 @@ start_time = datetime.now() -def plotting(sat_config, diag_file, data_type, plot_type, outdir): +def plotting(sat_config, diag_file, data_type, plot_type, var_yaml, outdir): channel = sat_config['channel'] qcflag = sat_config['qc flag'] @@ -60,9 +60,9 @@ def plotting(sat_config, diag_file, data_type, plot_type, outdir): data[data > 1e5] = np.nan if np.isin('histogram', plot_type): - plot_histogram(data, metadata, outdir) + plot_histogram(data, metadata, var_yaml, outdir) if np.isin('spatial', plot_type): - plot_map(lats, lons, data, metadata, outdir) + plot_map(lats, lons, data, metadata, var_yaml, outdir) if __name__ == '__main__': @@ -71,10 +71,12 @@ def plotting(sat_config, diag_file, data_type, plot_type, outdir): ap = argparse.ArgumentParser() ap.add_argument("-n", "--nprocs", help="Number of tasks/processors for multiprocessing") - ap.add_argument("-y", "--yaml", + ap.add_argument("-y", "--diagyaml", help="Path to yaml file with diag data") ap.add_argument("-o", "--outdir", help="Out directory where files will be saved") + ap.add_argument("-v", "--varyaml", required=False, + help="Path to yaml file with specific variable information") myargs = ap.parse_args() @@ -83,27 +85,30 @@ def plotting(sat_config, diag_file, data_type, plot_type, outdir): else: nprocs = 1 - input_yaml = myargs.yaml + diag_yaml = myargs.diagyaml outdir = myargs.outdir - with open(input_yaml, 'r') as file: - parsed_yaml_file = yaml.load(file, Loader=yaml.FullLoader) + with open(diag_yaml, 'r') as file: + parsed_diag_yaml = yaml.load(file, Loader=yaml.FullLoader) - work = parsed_yaml_file['diagnostic']['radiance'] - data_type = parsed_yaml_file['diagnostic']['data type'] - data_path = parsed_yaml_file['diagnostic']['path'] + work = parsed_diag_yaml['diagnostic']['radiance'] + data_type = parsed_diag_yaml['diagnostic']['data type'] + data_path = parsed_diag_yaml['diagnostic']['path'] try: - plot_type = parsed_yaml_file['diagnostic']['plot types'] + plot_type = parsed_diag_yaml['diagnostic']['plot types'] except KeyError: raise Exception("'plot types' key not included in input yaml. " "Please add key 'plot types' to yaml and list " "of the plot types you would like to create. " "i.e. ['histogram', 'spatial']") + variable_yaml = myargs.varyaml if myargs.varyaml else None + p = Pool(processes=nprocs) p.map(partial(plotting, diag_file=data_path, data_type=data_type, plot_type=plot_type, + var_yaml=variable_yaml, outdir=outdir), work) print(datetime.now() - start_time) diff --git a/scripts/plot_gsi.py b/scripts/plot_gsi.py deleted file mode 100644 index 1018b37..0000000 --- a/scripts/plot_gsi.py +++ /dev/null @@ -1,139 +0,0 @@ -import numpy as np -import sys -import argparse -import yaml -from pyGSI.diags import Conventional, Radiance -from pyGSI.plot_diags import plot_spatial, plot_histogram -from datetime import datetime - - -def plotting_conventional(conv_config): - - diagfile = conv_config['conventional input']['path'][0] - diag_type = conv_config['conventional input']['data type'][0].lower() - obsid = conv_config['conventional input']['observation id'] - analysis_use = conv_config['conventional input']['analysis use'][0] - plot_type = conv_config['conventional input']['plot type'] - outdir = conv_config['outdir'] - - diag = Conventional(diagfile) - - if analysis_use: - diag_components = diagfile.split('/')[-1].split('.')[0].split('_') - if diag_components[1] == 'conv' and diag_components[2] == 'uv': - u, v = diag.get_data(diag_type, obsid=obsid, - analysis_use=analysis_use) - - data = {'assimilated': {'u': u['assimilated'], - 'v': v['assimilated'], - 'windspeed': np.sqrt( - np.square(u['assimilated']) + - np.square(v['assimilated'])) - }, - 'monitored': {'u': u['monitored'], - 'v': v['monitored'], - 'windspeed': np.sqrt( - np.square(u['monitored']) + - np.square(v['monitored'])) - } - } - - else: - data = diag.get_data(diag_type, obsid=obsid, - analysis_use=analysis_use) - - data = {'assimilated': data['assimilated'], - 'monitored': data['monitored'] - } - - lats, lons = diag.get_lat_lon(obsid=obsid, analysis_use=analysis_use) - - metadata = diag.metadata - - if np.isin('histogram', plot_type): - plot_histogram(data, metadata, outdir) - if np.isin('spatial', plot_type): - plot_spatial(data, metadata, lats, lons, outdir) - - else: - - diag_components = diagfile.split('/')[-1].split('.')[0].split('_') - if diag_components[1] == 'conv' and diag_components[2] == 'uv': - u, v = diag.get_data(diag_type, obsid=obsid, - analysis_use=analysis_use) - data = {'u': u, - 'v': v, - 'windspeed': np.sqrt(np.square(u) + np.square(v)) - } - else: - data = diag.get_data(diag_type, obsid=obsid) - - lats, lons = diag.get_lat_lon(obsid=obsid) - - metadata = diag.metadata - - if np.isin('histogram', plot_type): - plot_histogram(data, metadata, outdir) - if np.isin('spatial', plot_type): - plot_spatial(data, metadata, lats, lons, outdir) - - return - - -def plotting_radiance(sat_config): - - diagfile = sat_config['radiance input']['path'][0] - diag_type = sat_config['radiance input']['data type'][0].lower() - channel = sat_config['radiance input']['channel'] - qcflag = sat_config['radiance input']['qc flag'] - plot_type = sat_config['radiance input']['plot type'] - outdir = sat_config['outdir'] - - diag = Radiance(diagfile) - - data = diag.get_data(diag_type, channel=channel, qcflag=qcflag) - lats, lons = diag.get_lat_lon(channel=channel, qcflag=qcflag) - - metadata = diag.metadata - - if np.isin('histogram', plot_type): - plot_histogram(data, metadata, outdir) - if np.isin('spatial', plot_type): - plot_spatial(data, metadata, lats, lons, outdir) - - return - - -############################################### - -# # Parse command line -ap = argparse.ArgumentParser() -ap.add_argument("-y", "--yaml", - help="Path to yaml file with diag data", - required=True) -ap.add_argument("-o", "--outdir", - help="Out directory where files will be saved", - default="./") - -myargs = ap.parse_args() - -input_yaml = myargs.yaml -outdir = myargs.outdir - -if outdir is None: - outdir = './' - -with open(input_yaml, 'r') as file: - parsed_yaml_file = yaml.load(file, Loader=yaml.FullLoader) - -work = (parsed_yaml_file['diagnostic']) -for w in work: - w['outdir'] = outdir - -diagType = next(iter(parsed_yaml_file['diagnostic'][0].items()))[0] -if diagType == 'conventional input': - plotting_conventional(work[0]) -elif diagType == 'radiance input': - plotting_radiance(work[0]) -else: - print('YAML entry incorrect. Please correct.') diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..63cb1df --- /dev/null +++ b/setup.cfg @@ -0,0 +1,63 @@ +[metadata] +name = PyGSI +version = 1.0.0 +description = Tools to read and filter through GSI diagnostic files. +long_description = file: README.md +long_description_content_type = text/markdown +author = NOAA-EMC +author_email = kevin.dougherty@noaa.gov +keywords = NOAA, EMC +home_page = https://github.com/noaa-emc/PyGSI +license = GNU Lesser General Public License +classifiers = + Development Status :: 1 - Beta + Intended Audience :: Developers + Intended Audience :: Science/Research + License :: OSI Approved :: GNU Lesser General Public License + Natural Language :: English + Operating System :: OS Independent + Programming Language :: Python + Programming Language :: Python :: 3 + Programming Language :: Python :: 3.6 + Programming Language :: Python :: 3.7 + Programming Language :: Python :: 3.8 + Programming Language :: Python :: 3.9 + Topic :: Software Development :: Libraries :: Python Modules + Operating System :: OS Independent + Typing :: Typed +project_urls = + Bug Tracker = https://github.com/noaa-emc/PyGSI/issues + CI = https://github.com/noaa-emc/PyGSI/actions + +[options] +zip_safe = False +include_package_data = True +package_dir = + =src +packages = find_namespace: +python_requires = >= 3.6 +setup_requires = + setuptools +install_requires = + numpy + scipy + pandas + netcdf4 + scikit-learn + matplotlib + cartopy +tests_require = + pytest + +[options.packages.find] +where=src + +[options.package_data] +* = *.txt, *.md, *.yaml, *.png + +[green] +file-pattern = test_*.py +verbose = 2 +no-skip-report = true +quiet-stdout = true +run-coverage = true diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..e10a7e7 --- /dev/null +++ b/setup.py @@ -0,0 +1,39 @@ +import setuptools +setuptools.setup( + name='PyGSI', + version='1.0.0', + description='Tools to read and filter through GSI diagnostic files.', + author='NOAA-EMC', + author_email='Kevin.Dougherty@noaa.gov', + url='https://github.com/noaa-emc/PyGSI', + package_dir={'': 'src'}, + packages=setuptools.find_packages(where='src'), + classifiers=[ + 'Development Status :: 1 - Beta', + 'Intended Audience :: Developers', + 'Intended Audience :: Science/Research', + 'License :: OSI Approved :: GNU Lesser General Public License', + 'Natural Language :: English', + 'Operating System :: OS Independent', + 'Programming Language :: Python', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'Topic :: Software Development :: Libraries :: Python Modules', + 'Operating System :: OS Independent', + 'Typing :: Typed'], + python_requires='>=3.6', + install_requires=[ + 'pyyaml>=6.0', + 'pycodestyle>=2.8.0', + 'netCDF4>=1.5.3', + 'matplotlib>=3.5.2', + 'cartopy>=0.20.2', + 'scikit-learn>=1.0.2', + 'xarray>=0.11.3', + 'emcpy @ git+https://github.com/NOAA-EMC/' + + 'emcpy@4f36baf1a2302fb0daa49bd8415bb7d2a65347bb#egg=emcpy' + ] +) diff --git a/single_conv_yaml.yaml b/single_conv_yaml.yaml deleted file mode 100644 index 60020cf..0000000 --- a/single_conv_yaml.yaml +++ /dev/null @@ -1,15 +0,0 @@ -diagnostic: -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 120 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_t_ges.2020092000.nc4 - plot type: - - histogram - - spatial diff --git a/single_sat_yaml.yaml b/single_sat_yaml.yaml deleted file mode 100644 index 679fb36..0000000 --- a/single_sat_yaml.yaml +++ /dev/null @@ -1,13 +0,0 @@ -diagnostic: -- radiance input: - channel: - - 1 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n15_ges.2020092000.nc4 - plot type: - - histogram - - spatial - qc flag: - - 0 diff --git a/pyGSI/__init__.py b/src/pyGSI/__init__.py similarity index 100% rename from pyGSI/__init__.py rename to src/pyGSI/__init__.py diff --git a/pyGSI/analysis.py b/src/pyGSI/analysis.py similarity index 100% rename from pyGSI/analysis.py rename to src/pyGSI/analysis.py diff --git a/pyGSI/diags.py b/src/pyGSI/diags.py similarity index 100% rename from pyGSI/diags.py rename to src/pyGSI/diags.py diff --git a/src/pyGSI/ensemble_diags.py b/src/pyGSI/ensemble_diags.py new file mode 100644 index 0000000..dbbd03c --- /dev/null +++ b/src/pyGSI/ensemble_diags.py @@ -0,0 +1,652 @@ +import numpy as _np +import os as _os +import emcpy.utils.dateutils as _dateutils +import pyGSI.filter_obs as _filter_obs +from netCDF4 import Dataset + + +def time_trace( + datapath, + date1, + date2, + expt_names, + n_mem, + delt, + skip_enkf_hours=[], + ob_types=["u"], + codes_uv=[187], + codes_tq=[287], + hem=None, + p_max=1050.0, + p_min=100.0, + lat_max=90.0, + lat_min=0.0, + lon_max=360.0, + lon_min=0.0, + error_max=40.0, + error_min=0.000001, + use_bc_omf=False, + use_input_err=True, +): + """ + Computes observation space stats into 3D arrays (n_ob_type, n_expt, 24) and plots the stats as a + function of hour of day. + + Args: + datapath : (str) netCDF filename + date1 : (str "YYYYMMDDHH") start date + date2 : (str "YYYYMMDDHH") end date + expt_names : (list of str) experiment names + n_mem : (int) number of ensemble members + delt : (int) delta time in hours + skip_enkf_hours : (list of int) hours (UTC) to skip for enkf + ob_types : (list of str) observation types (u,v,t,q,etc.) + codes_uv : (list of int) uv bufr codes used to filter obs + codes_tq : (list of int) tq bufr codes used to filter obs + hem : (str) name of hemisphere to plot stats (also None) + p_max : (float) maximum pressure (mb) for including observation in calculations + p_min : (float) minimum pressure (mb) for including observation in calculations + lat_max : (float) maximum latitude (deg N) for including observation in calculations + lat_min : (float) minimum latitude (deg N) for including observation in calculations + lon_max : (float) maximum latitude (deg E) for including observation in calculations + lon_min : (float) minimum latitude (deg E) for including observation in calculations + error_max : (float) maximum error standard deviation for including observation in calculations + error_min : (float) minimum error standard deviation for including observation in calculations + use_bc_omf : (bool) use bias corrected observation minus background (Obs_Minus_Forecast_adjusted) + use_input_err : (bool) use input (i.e., non-modified) observation error (Error_Input) + + Returns: + dates : (list str) list of date strings of the form YYYYMMDDHH based on date1 and date2 + bias : (array float) mean of (forecast - observation) + rms : (array float) rms of (F-O) + std_dev : (array float) standard deviation of (F-O) + spread : (array float) ensemble spread (standard deviation) + ob_error : (array float) observation error standard deviation + total_spread : (array float) total spread (standard deviation) + num_obs_total : (array float) total number of observations + num_obs_assim : (array float) total number of observations assimilated + cr : (array float) consistency ratio (total spread/rmsi)**2 + ser : (array float) spread error ratio (intraensemble std_dev/ rmse of ensemble mean fcst) + + References: + consistency ratio (cr) + a) https://journals.ametsoc.org/view/journals/atot/26/5/2008jtecha1156_1.xml (eq 3.4) + b) https://journals.ametsoc.org/view/journals/mwre/150/8/MWR-D-21-0289.1.xml (eq 7) + spread error ratio (ser) + a) https://agupubs.onlinelibrary.wiley.com/doi/full/10.1002/2013GL057630 (eq 1) + bufr codes + a) https://emc.ncep.noaa.gov/mmb/data_processing/prepbufr.doc/table_2.htm + """ + + hours = 24 + dates = _dateutils.daterange(date1, date2, delt) + n_expt = len(expt_names) + n_ob_type = len(ob_types) + bias = _np.zeros(shape=(n_ob_type, n_expt, 24)) + rms = _np.zeros(shape=(n_ob_type, n_expt, 24)) + std_dev = _np.zeros(shape=(n_ob_type, n_expt, 24)) + spread = _np.zeros(shape=(n_ob_type, n_expt, 24)) + total_spread = _np.zeros(shape=(n_ob_type, n_expt, 24)) + ob_error = _np.zeros(shape=(n_ob_type, n_expt, 24)) + num_obs_assim = _np.zeros(shape=(n_ob_type, n_expt, 24)) + num_obs_total = _np.zeros(shape=(n_ob_type, n_expt, 24)) + cr = _np.zeros(shape=(n_ob_type, n_expt, 24)) + ser = _np.zeros(shape=(n_ob_type, n_expt, 24)) + + sum_innov = _np.zeros(shape=(n_ob_type, n_expt, 24)) + sum_innovsq = _np.zeros(shape=(n_ob_type, n_expt, 24)) + sum_fcst_ens_var = _np.zeros(shape=(n_ob_type, n_expt, 24)) + sum_ob_err_var = _np.zeros(shape=(n_ob_type, n_expt, 24)) + + bbreak = False + + for date in dates: + times = _dateutils.datetohrs(date) + pdy = str(date[0:8]) + hour = int(str(date[8:10])) + if any(item == hour for item in skip_enkf_hours): + continue # As of right now, the rrfs only runs the EnKF at 18-23Z so skip those off times + for ob_type in ob_types: + i_o = ob_types.index(ob_type) + # https://emc.ncep.noaa.gov/mmb/data_processing/prepbufr.doc/table_2.htm + if ob_type == "u" or ob_type == "v": + codes = codes_uv + elif ob_type == "t" or ob_type == "q": + codes = codes_tq + for expt_name in expt_names: + print(f"{date} {expt_name} {ob_type}") + i_e = expt_names.index(expt_name) + + # Initial read of all the ensemble diag files to get a common list of used observations. + # Preemptively read analysis use flag of all ensemble diags. All ensembles will not + # necessarily use the same observations (gross errors checks etc.). Change all use + # values that are less than 1 to 0, then multiply each use numpy array by the previous + # result. This will leave you with a list of all observations used by all ensemble members. + mem = 1 + while mem <= n_mem: + memid = str(mem).zfill(4) + if ob_type == "u" or ob_type == "v": + diagfile = _os.path.join(datapath, f"{expt_name}/{date}/mem{memid}/observer_gsi/diag_conv_uv_ges.{date}.nc4") + else: + diagfile = _os.path.join(datapath, f"{expt_name}/{date}/mem{memid}/observer_gsi/diag_conv_{ob_type}_ges.{date}.nc4") + # Check for if there are any diag files for a particular cycle date. + # If there are none, move to the next cycle date. + exists = _os.path.exists(diagfile) + if not exists: + print(f"diag file for {expt_name} mem{mem:0>4} {date} doesn't exist. Skipping {date}.") + bbreak = True # need to break here and one loop higher. + break + + nc = Dataset(diagfile) + use = nc["Analysis_Use_Flag"][:] + use[use < 1] = 0 + if mem == 1: + analysis_use = use + else: + analysis_use = analysis_use * use + mem = mem + 1 + # End of initial read of all ensemble diag files. + + if bbreak: + bbreak = False # reset break + break # break and move to next cycle time. + + mem = 1 + while mem <= n_mem: + memid = str(mem).zfill(4) + if ob_type == "u" or ob_type == "v": + diagfile = _os.path.join(datapath, f"{expt_name}/{date}/mem{memid}/observer_gsi/diag_conv_uv_ges.{date}.nc4") + else: + diagfile = _os.path.join(datapath, f"{expt_name}/{date}/mem{memid}/observer_gsi/diag_conv_{ob_type}_ges.{date}.nc4") + nc = Dataset(diagfile) + if mem == 1: + use = analysis_use + code = nc["Observation_Type"][:] + lat = nc["Latitude"][:] + lon = nc["Longitude"][:] + pressure = nc["Pressure"][:] + if use_input_err: + errorinv = nc["Errinv_Input"][:] + else: + errorinv = nc["Errinv_Final"][:] + + if ob_type == "u": + ob = nc["u_Observation"][:] + elif ob_type == "v": + ob = nc["v_Observation"][:] + else: + ob = nc["Observation"][:] + + if ob_type == "q": + ob = 1000.0 * ob # convert from kg/kg to g/kg + errorinv = errorinv / 1000.0 # convert from kg/kg to g/kg + + # consider where use flag==1 and bound by error/lat/lon/pres + used = _filter_obs.filter_obs( + code, + codes, + errorinv, + lat, + lon, + pressure, + use, + hem, + p_max=p_max, + p_min=p_min, + lat_max=lat_max, + lat_min=lat_min, + lon_max=lon_max, + lon_min=lon_min, + error_max=error_max, + error_min=error_min, + ) + + errorinv = errorinv[used] + error = 1.0 / errorinv + itot = len(ob) + ob = ob[used] + iasm = len(ob) + # end if mem==1 + + if use_bc_omf: + if ob_type == "u": + omf = nc["u_Obs_Minus_Forecast_adjusted"][:] + elif ob_type == "v": + omf = nc["v_Obs_Minus_Forecast_adjusted"][:] + else: + omf = nc["Obs_Minus_Forecast_adjusted"][:] + else: + if ob_type == "u": + omf = nc["u_Obs_Minus_Forecast_unadjusted"][:] + elif ob_type == "v": + omf = nc["v_Obs_Minus_Forecast_unadjusted"][:] + else: + omf = nc["Obs_Minus_Forecast_unadjusted"][:] + + if ob_type == "q": + omf = 1000.0 * omf # convert from kg/kg to g/kg + + omf = omf[used] + + if mem == 1: + fcst_ens = ob - omf + fcst_ens_var = (ob - omf) ** 2 + else: + fcst_ens = fcst_ens + ob - omf + fcst_ens_var = fcst_ens_var + (ob - omf) ** 2 + mem = mem + 1 + # end while n_mem + + # if we broke out of the loop above before, because we were missing a mem. + # this will break out of the loop here too. + try: + error_var = error**2 + except NameError: + break + + fcst_ens_mean = fcst_ens / n_mem + if n_mem > 1: + fcst_ens_var = (fcst_ens_var - n_mem * fcst_ens_mean**2) / (n_mem - 1) + else: + fcst_ens_var = 0.0 + innov = ob - fcst_ens_mean + num_obs_total[i_o, i_e, hour] = num_obs_total[i_o, i_e, hour] + itot + num_obs_assim[i_o, i_e, hour] = num_obs_assim[i_o, i_e, hour] + iasm + sum_innov[i_o, i_e, hour] = sum_innov[i_o, i_e, hour] + _np.sum(innov) + sum_innovsq[i_o, i_e, hour] = sum_innovsq[i_o, i_e, hour] + _np.sum(innov**2) + sum_fcst_ens_var[i_o, i_e, hour] = sum_fcst_ens_var[i_o, i_e, hour] + _np.sum(fcst_ens_var) + sum_ob_err_var[i_o, i_e, hour] = sum_ob_err_var[i_o, i_e, hour] + _np.sum(error_var) + + # end n_times + + if num_obs_assim[i_o, i_e, hour] > 0: + mean_innov = sum_innov[i_o, i_e, hour] / num_obs_assim[i_o, i_e, hour] + bias[i_o, i_e, hour] = -1 * mean_innov + rms[i_o, i_e, hour] = _np.sqrt(sum_innovsq[i_o, i_e, hour] / num_obs_assim[i_o, i_e, hour]) + mean_ob_err_var = sum_ob_err_var[i_o, i_e, hour] / num_obs_assim[i_o, i_e, hour] + ob_error[i_o, i_e, hour] = _np.sqrt(mean_ob_err_var) + + if num_obs_assim[i_o, i_e, hour] > 1: + innov_var = (sum_innovsq[i_o, i_e, hour] - num_obs_assim[i_o, i_e, hour] * mean_innov**2) / (num_obs_assim[i_o, i_e, hour] - 1.0) + std_dev[i_o, i_e, hour] = _np.sqrt(innov_var) + mean_fcst_var = sum_fcst_ens_var[i_o, i_e, hour] / num_obs_assim[i_o, i_e, hour] + spread[i_o, i_e, hour] = _np.sqrt(mean_fcst_var) + total_spread[i_o, i_e, hour] = _np.sqrt(mean_ob_err_var + mean_fcst_var) + cr[i_o, i_e, hour] = (total_spread[i_o, i_e, hour] / rms[i_o, i_e, hour]) ** 2 + ser[i_o, i_e, hour] = spread[i_o, i_e, hour] / rms[i_o, i_e, hour] + + del errorinv + del error + del itot + del ob + del iasm + del omf + del code + del lat + del lon + del pressure + del use + + # end do n_expt + # end do n_ob_type + + return dates, bias, rms, std_dev, spread, ob_error, total_spread, num_obs_total, num_obs_assim, cr, ser + + +def bincount(pindx, n_levs, variable, count): + variable = _np.bincount(pindx, minlength=n_levs, weights=variable) / count[::-1] + return variable + + +def profile( + datapath, + date1, + date2, + expt_names, + n_mem, + delt, + skip_enkf_hours=[], + ob_types=["u"], + codes_uv=[187], + codes_tq=[287], + hem=None, + p_max=1050.0, + p_min=100.0, + lat_max=90.0, + lat_min=0.0, + lon_max=360.0, + lon_min=0.0, + error_max=40.0, + error_min=0.000001, + use_bc_omf=False, + use_input_err=True, +): + """ + Computes observation space stats into 4D arrays (n_ob_type, n_expt, n_dates, n_levs) for plotting as a + vertical profile. + + Args: + datapath : (str) netCDF filename + date1 : (str "YYYYMMDDHH") start date + date2 : (str "YYYYMMDDHH") end date + expt_names : (list of str) experiment names + n_mem : (int) number of ensemble members + delt : (int) delta time in hours + skip_enkf_hours : (list of int) hours (UTC) to skip for enkf + ob_types : (list of str) observation types (u,v,t,q,etc.) + codes_uv : (list of int) uv bufr codes used to filter obs + codes_tq : (list of int) tq bufr codes used to filter obs + hem : (str) name of hemisphere to plot stats (also None) + p_max : (float) maximum pressure (mb) for including observation in calculations + p_min : (float) minimum pressure (mb) for including observation in calculations + lat_max : (float) maximum latitude (deg N) for including observation in calculations + lat_min : (float) minimum latitude (deg N) for including observation in calculations + lon_max : (float) maximum latitude (deg E) for including observation in calculations + lon_min : (float) minimum latitude (deg E) for including observation in calculations + error_max : (float) maximum error standard deviation for including observation in calculations + error_min : (float) minimum error standard deviation for including observation in calculations + use_bc_omf : (bool) use bias corrected observation minus background (Obs_Minus_Forecast_adjusted) + use_input_err : (bool) use input (i.e., non-modified) observation error (Error_Input) + + Returns: + dates : (list str) list of date strings of the form YYYYMMDDHH based on date1 and date2 + bias : (array float) mean of (forecast - observation) + rms : (array float) rms of (F-O) + std_dev : (array float) standard deviation of (F-O) + spread : (array float) ensemble spread (standard deviation) + ob_error : (array float) observation error standard deviation + total_spread : (array float) total spread (standard deviation) + num_obs_total : (array float) total number of observations + num_obs_assim : (array float) total number of observations assimilated + cr : (array float) consistency ratio (total spread/rmsi)**2 + ser : (array float) spread error ratio (intraensemble std_dev/ rmse of ensemble mean fcst) + + References: + consistency ratio (cr) + a) https://journals.ametsoc.org/view/journals/atot/26/5/2008jtecha1156_1.xml (eq 3.4) + b) https://journals.ametsoc.org/view/journals/mwre/150/8/MWR-D-21-0289.1.xml (eq 7) + spread error ratio (ser) + a) https://agupubs.onlinelibrary.wiley.com/doi/full/10.1002/2013GL057630 (eq 1) + bufr codes + a) https://emc.ncep.noaa.gov/mmb/data_processing/prepbufr.doc/table_2.htm + """ + + dates = _dateutils.daterange(date1, date2, delt) + n_dates = len(dates) + n_expt = len(expt_names) + n_ob_type = len(ob_types) + n_skip = 0 + + deltap = 50.0 + pbot = 975 + n_levs = 23 + levs = _np.zeros(n_levs, float) + levs1 = _np.zeros(n_levs, float) + levs2 = _np.zeros(n_levs, float) + levs[0:18] = pbot - deltap * _np.arange(18) + levs1[0:18] = levs[0:18] + 0.5 * deltap + levs2[0:18] = levs[0:18] - 0.5 * deltap + levs1[18] = levs2[17] + levs2[18] = 70.0 + levs1[19] = 70.0 + levs2[19] = 50.0 + levs1[20] = 50.0 + levs2[20] = 30.0 + levs1[21] = 30.0 + levs2[21] = 10.0 + levs1[22] = 10.0 + levs2[22] = 0.0 + levs1[0] = 1200.0 + pbins = _np.zeros(n_levs + 1, float) + pbins[0:n_levs] = levs1 + pbins[n_levs] = levs2[-1] + for nlev in range(18, n_levs): + levs[nlev] = 0.5 * (levs1[nlev] + levs2[nlev]) + + # Initialize arrays with missing values. + bias = _np.zeros(shape=(n_ob_type, n_expt, n_dates, n_levs)) * _np.nan + rms = _np.zeros(shape=(n_ob_type, n_expt, n_dates, n_levs)) * _np.nan + std_dev = _np.zeros(shape=(n_ob_type, n_expt, n_dates, n_levs)) * _np.nan + spread = _np.zeros(shape=(n_ob_type, n_expt, n_dates, n_levs)) * _np.nan + total_spread = _np.zeros(shape=(n_ob_type, n_expt, n_dates, n_levs)) * _np.nan + ob_error = _np.zeros(shape=(n_ob_type, n_expt, n_dates, n_levs)) * _np.nan + cr = _np.zeros(shape=(n_ob_type, n_expt, n_dates, n_levs)) * _np.nan + ser = _np.zeros(shape=(n_ob_type, n_expt, n_dates, n_levs)) * _np.nan + + # Initialize arrays with zeros. + num_obs_assim = _np.zeros(shape=(n_ob_type, n_expt, n_dates, n_levs)) + num_obs_total = _np.zeros(shape=(n_ob_type, n_expt, n_dates, n_levs)) + sum_innov = _np.zeros(shape=(n_ob_type, n_expt, n_dates, n_levs)) + sum_innovsq = _np.zeros(shape=(n_ob_type, n_expt, n_dates, n_levs)) + sum_fcst_ens_var = _np.zeros(shape=(n_ob_type, n_expt, n_dates, n_levs)) + sum_fcst_ens = _np.zeros(shape=(n_ob_type, n_expt, n_dates, n_levs)) + sum_ob_err_var = _np.zeros(shape=(n_ob_type, n_expt, n_dates, n_levs)) + sum_ob_err = _np.zeros(shape=(n_ob_type, n_expt, n_dates, n_levs)) + mean_innov = _np.zeros(shape=(n_ob_type, n_expt, n_dates, n_levs)) + mean_ob_err_var = _np.zeros(shape=(n_ob_type, n_expt, n_dates, n_levs)) + innov_var = _np.zeros(shape=(n_ob_type, n_expt, n_dates, n_levs)) + mean_fcst_var = _np.zeros(shape=(n_ob_type, n_expt, n_dates, n_levs)) + iasms = _np.zeros(shape=(n_dates, n_levs)) + + bbreak = False + + for date in dates: + i_date = dates.index(date) + times = _dateutils.datetohrs(date) + pdy = str(date[0:8]) + hour = int(str(date[8:10])) + if any(item == hour for item in skip_enkf_hours): + continue # As of right now, the rrfs only runs the EnKF at 18-23Z so skip those off times + for ob_type in ob_types: + i_o = ob_types.index(ob_type) + # https://emc.ncep.noaa.gov/mmb/data_processing/prepbufr.doc/table_2.htm + if ob_type == "u" or ob_type == "v": + codes = codes_uv + elif ob_type == "t" or ob_type == "q": + codes = codes_tq + for expt_name in expt_names: + print(f"{date} {expt_name} {ob_type}") + i_e = expt_names.index(expt_name) + + # Initial read of all the ensemble diag files to get a common list of used observations. + # Preemptively read analysis use flag of all ensemble diags. All ensembles will not + # necessarily use the same observations (gross errors checks etc.). Change all use + # values that are less than 1 to 0, then multiply each use numpy array by the previous + # result. This will leave you with a list of all observations used by all ensemble members. + mem = 1 + while mem <= n_mem: + memid = str(mem).zfill(4) + if ob_type == "u" or ob_type == "v": + diagfile = _os.path.join(datapath, f"{expt_name}/{date}/mem{memid}/observer_gsi/diag_conv_uv_ges.{date}.nc4") + else: + diagfile = _os.path.join(datapath, f"{expt_name}/{date}/mem{memid}/observer_gsi/diag_conv_{ob_type}_ges.{date}.nc4") + # Check for if there are any diag files for a particular cycle date. + # If there are none, move to the next cycle date. + exists = _os.path.exists(diagfile) + if not exists: + print(f"diag file for {expt_name} mem{mem:0>4} {date} doesn't exist. Skipping {date}.") + bbreak = True # need to break here and one loop higher. + break + + nc = Dataset(diagfile) + use = nc["Analysis_Use_Flag"][:] + use[use < 1] = 0 + if mem == 1: + analysis_use = use + else: + analysis_use = analysis_use * use + mem = mem + 1 + # End of initial read of all ensemble diag files. + + if bbreak: + bbreak = False # reset break + break # break and move to next cycle time. + + mem = 1 + while mem <= n_mem: + memid = str(mem).zfill(4) + if ob_type == "u" or ob_type == "v": + diagfile = _os.path.join(datapath, f"{expt_name}/{date}/mem{memid}/observer_gsi/diag_conv_uv_ges.{date}.nc4") + else: + diagfile = _os.path.join(datapath, f"{expt_name}/{date}/mem{memid}/observer_gsi/diag_conv_{ob_type}_ges.{date}.nc4") + nc = Dataset(diagfile) + if mem == 1: + use = analysis_use + code = nc["Observation_Type"][:] + lat = nc["Latitude"][:] + lon = nc["Longitude"][:] + pressure = nc["Pressure"][:] + if use_input_err: + errorinv = nc["Errinv_Input"][:] + else: + errorinv = nc["Errinv_Final"][:] + + if ob_type == "u": + ob = nc["u_Observation"][:] + elif ob_type == "v": + ob = nc["v_Observation"][:] + else: + ob = nc["Observation"][:] + + if ob_type == "q": + ob = 1000.0 * ob # convert from kg/kg to g/kg + errorinv = errorinv / 1000.0 # convert from kg/kg to g/kg + + # consider where use flag==1 and bound by error/lat/lon/pres + used = _filter_obs.filter_obs( + code, + codes, + errorinv, + lat, + lon, + pressure, + use, + hem, + p_max=p_max, + p_min=p_min, + lat_max=lat_max, + lat_min=lat_min, + lon_max=lon_max, + lon_min=lon_min, + error_max=error_max, + error_min=error_min, + ) + + # Digitize itot (do this before "pressure = pressure[used]") + pindx = _np.digitize(pressure, pbins) - 1 + itot, bin_edges = _np.histogram(pressure, pbins[::-1]) + + # Filter ob, pressure + ob = ob[used] + pressure = pressure[used] + errorinv = errorinv[used] + error = 1.0 / errorinv + + # Digitize iasm (do this after "pressure = pressure[used]") + pindx = _np.digitize(pressure, pbins) - 1 + iasm, bin_edges = _np.histogram(pressure, pbins[::-1]) + # end if mem==1 + + if use_bc_omf: + if ob_type == "u": + omf = nc["u_Obs_Minus_Forecast_adjusted"][:] + elif ob_type == "v": + omf = nc["v_Obs_Minus_Forecast_adjusted"][:] + else: + omf = nc["Obs_Minus_Forecast_adjusted"][:] + else: + if ob_type == "u": + omf = nc["u_Obs_Minus_Forecast_unadjusted"][:] + elif ob_type == "v": + omf = nc["v_Obs_Minus_Forecast_unadjusted"][:] + else: + omf = nc["Obs_Minus_Forecast_unadjusted"][:] + + if ob_type == "q": + omf = 1000.0 * omf # convert from kg/kg to g/kg + + omf = omf[used] + + if mem == 1: + fcst_ens = ob - omf + fcst_ens_var = (ob - omf) ** 2 + else: + fcst_ens = fcst_ens + ob - omf + fcst_ens_var = fcst_ens_var + (ob - omf) ** 2 + mem = mem + 1 + # end while n_mem + + # if we broke out of the loop above before, because we were missing a mem. + # this will break out of the loop here too. + try: + error_var = error**2 + except NameError: + break + + fcst_ens_mean = fcst_ens / n_mem + if n_mem > 1: + fcst_ens_var = (fcst_ens_var - n_mem * fcst_ens_mean**2) / (n_mem - 1) + else: + fcst_ens_var = 0.0 + innov = ob - fcst_ens_mean + innovsq = innov**2 + num_obs_total[i_o, i_e, i_date] = num_obs_total[i_o, i_e, i_date] + itot[::-1] + num_obs_assim[i_o, i_e, i_date] = num_obs_assim[i_o, i_e, i_date] + iasm[::-1] + + # Digitize vars + innov = _np.bincount(pindx, minlength=n_levs, weights=innov) + innovsq = _np.bincount(pindx, minlength=n_levs, weights=innovsq) + error_var = _np.bincount(pindx, minlength=n_levs, weights=error_var) + fcst_ens_var = _np.bincount(pindx, minlength=n_levs, weights=fcst_ens_var) + + sum_innov[i_o, i_e, i_date] = sum_innov[i_o, i_e, i_date] + innov + sum_innovsq[i_o, i_e, i_date] = sum_innovsq[i_o, i_e, i_date] + innovsq + sum_fcst_ens_var[i_o, i_e, i_date] = sum_fcst_ens_var[i_o, i_e, i_date] + fcst_ens_var + sum_ob_err_var[i_o, i_e, i_date] = sum_ob_err_var[i_o, i_e, i_date] + error_var + # end n_times + + if _np.sum(num_obs_assim[i_o, i_e, i_date]) > 0: + mean_innov = sum_innov[i_o, i_e, i_date] / num_obs_assim[i_o, i_e, i_date] + bias[i_o, i_e, i_date] = -1 * mean_innov + rms[i_o, i_e, i_date] = _np.sqrt(sum_innovsq[i_o, i_e, i_date] / num_obs_assim[i_o, i_e, i_date]) + mean_ob_err_var = sum_ob_err_var[i_o, i_e, i_date] / num_obs_assim[i_o, i_e, i_date] + ob_error[i_o, i_e, i_date] = _np.sqrt(mean_ob_err_var) + + if _np.sum(num_obs_assim[i_o, i_e, i_date]) > 1: + innov_var = (sum_innovsq[i_o, i_e, i_date] - num_obs_assim[i_o, i_e, i_date] * mean_innov**2) / (num_obs_assim[i_o, i_e, i_date] - 1.0) + std_dev[i_o, i_e, i_date] = _np.sqrt(innov_var) + mean_fcst_var = sum_fcst_ens_var[i_o, i_e, i_date] / num_obs_assim[i_o, i_e, i_date] + spread[i_o, i_e, i_date] = _np.sqrt(mean_fcst_var) + total_spread[i_o, i_e, i_date] = _np.sqrt(mean_ob_err_var + mean_fcst_var) + cr[i_o, i_e, i_date] = (total_spread[i_o, i_e, i_date] / rms[i_o, i_e, i_date]) ** 2 + ser[i_o, i_e, i_date] = spread[i_o, i_e, i_date] / rms[i_o, i_e, i_date] + + del errorinv + del error + del itot + del ob + del iasm + del omf + del code + del lat + del lon + del pressure + del use + + # end do n_expt + # end do n_ob_type + + # Sum over all cycle times (axis=2) + num_obs_total = _np.sum(num_obs_total, axis=2) + num_obs_assim = _np.sum(num_obs_assim, axis=2) + # Average over all cycle times (axis=2) + bias = _np.nanmean(bias, axis=2) + rms = _np.nanmean(rms, axis=2) + ob_error = _np.nanmean(ob_error, axis=2) + std_dev = _np.nanmean(std_dev, axis=2) + spread = _np.nanmean(spread, axis=2) + total_spread = _np.nanmean(total_spread, axis=2) + cr = _np.nanmean(cr, axis=2) + ser = _np.nanmean(ser, axis=2) + + return levs, levs2, levs1, dates, bias, rms, std_dev, spread, ob_error, total_spread, num_obs_total, num_obs_assim, cr, ser diff --git a/src/pyGSI/filter_obs.py b/src/pyGSI/filter_obs.py new file mode 100644 index 0000000..af7af5b --- /dev/null +++ b/src/pyGSI/filter_obs.py @@ -0,0 +1,94 @@ +import numpy as _np + + +def filter_obs( + code, + codes, + errorinv, + lat, + lon, + pressure, + use, + hem=None, + p_max=1050.0, + p_min=100.0, + lat_max=90.0, + lat_min=0.0, + lon_max=360.0, + lon_min=0.0, + error_max=40.0, + error_min=0.000001, +): + """ + Create the bool array used to filter by. Considers obs filtered by the use flag, + max/min pressure, latitude, longitude, and errors along with filtering by bufr + code (e.g., 187 or 287). + + netCDF Args: + code : (array int) bufr ob codes from netCDF file + codes : (array int) bufr ob codes to filter by, see link + https://emc.ncep.noaa.gov/mmb/data_processing/prepbufr.doc/table_2.htm + errorinv : (array float) from netCDF file + lat : (array float) from netCDF file + lon : (array float) from netCDF file + pressure : (array float) from netCDF file + + Filtering Args: + use : (int) use flag for observation 1=used + p_max : (float) maximum pressure (mb) for including observation in calculations + p_min : (float) minimum pressure (mb) for including observation in calculations + lat_max : (float) maximum latitude (deg N) for including observation in calculations + lat_min : (float) minimum latitude (deg N) for including observation in calculations + lon_max : (float) maximum latitude (deg E) for including observation in calculations + lon_min : (float) minimum latitude (deg E) for including observation in calculations + error_max: (float) maximum error standard deviation for including observation in calculations + error_min: (float) minimum error standard deviation for including observation in calculations + + Returns: + used : (array bool) observations to consider after all filtering + """ + + # if hem is provided, override the lat/lon min/maxes + if (hem == "GL"): + lat_max = 90.0 + lat_min = -90.0 + lon_max = 360.0 + lon_min = 0.0 + elif (hem == "NH"): + lat_max = -30.0 + lat_min = -90.0 + lon_max = 360.0 + lon_min = 0.0 + elif (hem == "TR"): + lat_max = 30.0 + lat_min = -30.0 + lon_max = 360.0 + lon_min = 0.0 + elif (hem == "SH"): + lat_max = 90.0 + lat_min = 30.0 + lon_max = 360.0 + lon_min = 0.0 + elif (hem == "CONUS"): + lat_max = 50.0 + lat_min = 27.0 + lon_max = 295.0 + lon_min = 235.0 + elif hem is not None: + msg = 'hemispheres must be: GLOBAL, NH, TR, SH, CONUS, or None' + raise ValueError(msg) + + used = code == codes[0] # initialize used + for cd in codes: + used = _np.logical_or(used, code == cd) # loop over all codes provided + + error_min_inv = 1.0 / error_min + error_max_inv = 1.0 / error_max + # consider where use flag==1 and bound by error/lat/lon/pres + used = _np.logical_and(used, use == 1) + used = _np.logical_and(used, _np.logical_and(errorinv <= error_min_inv, errorinv >= error_max_inv)) + used = _np.logical_and(used, _np.logical_and(lat >= lat_min, lat <= lat_max)) + used = _np.logical_and(used, _np.logical_and(lon >= lon_min, lon <= lon_max)) + used = _np.logical_and(used, _np.logical_and(pressure >= p_min, pressure <= p_max)) + + return used diff --git a/pyGSI/gsi_stat.py b/src/pyGSI/gsi_stat.py similarity index 100% rename from pyGSI/gsi_stat.py rename to src/pyGSI/gsi_stat.py diff --git a/pyGSI/plot_diags.py b/src/pyGSI/plot_diags.py similarity index 73% rename from pyGSI/plot_diags.py rename to src/pyGSI/plot_diags.py index 6e134eb..b65de66 100644 --- a/pyGSI/plot_diags.py +++ b/src/pyGSI/plot_diags.py @@ -265,7 +265,7 @@ def _no_data_histogram(data, metadata, outdir): return -def _create_hist_plot(data, metadata, outdir, color, legend, +def _create_hist_plot(data, metadata, var_yaml, outdir, color, legend, grid, plot_mean, plot_zero, title, date_title, xlabel, ylabel, annotate_stats): @@ -280,7 +280,8 @@ def _create_hist_plot(data, metadata, outdir, color, legend, eval_type = 'diff' if metadata['Diag Type'] in \ ['omf', 'oma'] else 'magnitude' varspecs = VariableSpecs(variable=spec_variable, - eval_type=eval_type) + eval_type=eval_type, + var_yaml=var_yaml) metadata['Variable'] = varspecs.name # Plot special histogram for if len of data is 0 or 1 @@ -407,7 +408,7 @@ def _no_data_map(domain, projection, metadata, outdir): def _create_map_plot(lats, lons, data, metadata, - outdir, domain, projection, + var_yaml, outdir, domain, projection, title, date_title, xlabel, ylabel, annotate_stats, colorbar, cbar_label, grid): @@ -420,7 +421,8 @@ def _create_map_plot(lats, lons, data, metadata, spec_variable = _varspecs_name(metadata['Variable']) varspecs = VariableSpecs(variable=spec_variable, - eval_type=eval_type) + eval_type=eval_type, + var_yaml=var_yaml) metadata['Variable'] = varspecs.name # If no data, plot empty map @@ -502,126 +504,7 @@ def _create_map_plot(lats, lons, data, metadata, return -def _binned_plot_features(binned_var, metadata, stats): - """ - Returns colormaps, the boundary norm (generates a colormap - index based on discrete intervals), and how to properly - extend the colorbar based on the type of data being used. - """ - - features_dict = { - 'binned_nobs': { - 'cmap': 'plasma', - 'extend': 'max', - 'upperbound': np.round(stats['Max']), - 'lowerbound': 0, - 'bins': _myround(stats['Max'], 25)/10, - 'x label': '# of Observations', - 'title': 'Binned Number of Observations' - }, - 'binned_mean': { - 'x label': 'Binned Average', - 'title': 'Binned Mean' - }, - 'binned_max': { - 'cmap': 'Reds', - 'extend': 'max', - 'upperbound': np.round(stats['Max']), - 'lowerbound': np.round(stats['Min']), - 'bins': _myround(stats['Std'], 2), - 'x label': 'Binned Max', - 'title': 'Binned Max' - }, - 'binned_min': { - 'cmap': 'Blues_r', - 'extend': 'min', - 'upperbound': np.round(stats['Max']), - 'lowerbound': np.round(stats['Min']), - 'bins': _myround(stats['Std'], 2), - 'x label': 'Binned Min', - 'title': 'Binned Min' - }, - 'binned_std': { - 'cmap': 'plasma', - 'extend': 'max', - 'upperbound': np.round(stats['Max']), - 'lowerbound': np.round(stats['Min']), - 'bins': _myround(stats['Std'], 0.5), - 'x label': 'Binned Std. Dev.', - 'title': 'Binned Standard Deviation' - }, - 'binned_rmse': { - 'cmap': 'plasma', - 'extend': 'max', - 'upperbound': np.round(stats['Max']), - 'lowerbound': np.round(stats['Min']), - 'bins': _myround(stats['Std'], 0.5), - 'x label': 'Binned RMSE', - 'title': 'Binned Root Mean Square Error' - } - } - - # Get cmap, bins, norm and extend for O-F and O-A - if metadata['Diag Type'] in ['omf', 'oma'] and binned_var == 'binned_mean': - cmap = 'bwr' - - upperbound = (np.round(stats['Std']*2)/2)*5 - if upperbound == 0: - upperbound = stats['Std']*5 - - lowerbound = 0-upperbound - bins = (upperbound - lowerbound)/10 - - norm = mcolors.BoundaryNorm(boundaries=np.arange( - lowerbound, upperbound+bins, bins), ncolors=256) - - extend = 'both' - - else: - cmap = features_dict[binned_var]['cmap'] - extend = features_dict[binned_var]['extend'] - - upperbound = features_dict[binned_var]['upperbound'] - lowerbound = features_dict[binned_var]['lowerbound'] - bins = features_dict[binned_var]['bins'] - - norm = mcolors.BoundaryNorm(boundaries=np.arange( - lowerbound, upperbound+bins, bins), ncolors=256) - - # Stats label - if not stats: - t = None - else: - t = _get_stats_labels(metadata, stats) - - # Date label - date_title = metadata['Date'].strftime("%d %b %Y %Hz") - - # Left Title label - left_title = _get_title(metadata) - left_title = '%s\n' % features_dict[binned_var]['title'] + left_title - - # X label - if binned_var == 'binned_nobs': - xlabel = features_dict[binned_var]['x label'] - else: - xlabel = _get_xlabel(metadata) - xlabel = xlabel + ' (%s)' % features_dict[binned_var]['x label'] - - # Save file - save_file = _get_save_file(metadata) - - labels = {'stat text': t, - 'x label': xlabel, - 'left title': left_title, - 'date title': date_title, - 'save file': save_file - } - - return labels, cmap, norm, extend - - -def plot_histogram(data, metadata, outdir='./', color='tab:blue', +def plot_histogram(data, metadata, var_yaml, outdir='./', color='tab:blue', legend=True, grid=False, plot_mean=True, plot_zero=True, title=None, date_title=None, xlabel=None, ylabel=None, @@ -663,16 +546,16 @@ def plot_histogram(data, metadata, outdir='./', color='tab:blue', metadata['Anl Use Type'] = anl_type _create_hist_plot(data[anl_type], - metadata, outdir, - color, legend, grid, - plot_mean, plot_zero, + metadata, var_yaml, + outdir, color, legend, + grid, plot_mean, plot_zero, title, date_title, xlabel, ylabel, annotate_stats) else: metadata['Anl Use Type'] = None - _create_hist_plot(data, metadata, outdir, color, + _create_hist_plot(data, metadata, var_yaml, outdir, color, legend, grid, plot_mean, plot_zero, title, date_title, xlabel, ylabel, annotate_stats) @@ -680,7 +563,7 @@ def plot_histogram(data, metadata, outdir='./', color='tab:blue', return -def plot_map(lats, lons, data, metadata, outdir='./', domain='global', +def plot_map(lats, lons, data, metadata, var_yaml, outdir='./', domain='global', projection='plcarr', title=None, date_title=None, xlabel=None, ylabel=None, annotate_stats=True, colorbar=True, cbar_label=None, grid=False): @@ -723,7 +606,7 @@ def plot_map(lats, lons, data, metadata, outdir='./', domain='global', metadata['Anl Use Type'] = anl_type _create_map_plot(lats[anl_type], lons[anl_type], - data[anl_type], metadata, + data[anl_type], metadata, var_yaml, outdir, domain, projection, title, date_title, xlabel, ylabel, annotate_stats, @@ -731,84 +614,9 @@ def plot_map(lats, lons, data, metadata, outdir='./', domain='global', else: metadata['Anl Use Type'] = None - _create_map_plot(lats, lons, data, metadata, outdir, - domain, projection, title, date_title, - xlabel, ylabel, annotate_stats, + _create_map_plot(lats, lons, data, metadata, var_yaml, + outdir, domain, projection, title, + date_title, xlabel, ylabel, annotate_stats, colorbar, cbar_label, grid) return - - -def plot_binned_spatial(data, metadata, binned_var=None, - binsize='1x1', outdir='./'): - - if binned_var is None: - print('Please select a binned variable type i.e. ' - 'binned_nobs, binned_mean,\n', - 'binned_max, binned_min, binned_std, binned_rmse.') - return - - if metadata['Diag File Type'] == 'conventional': - metadata['ObsID Name'] = _get_obs_type(metadata['ObsID']) - - # Create lats and lons based on binsize - lonlen = 360 - latlen = 180 - - lon_lowerlim = 0 - lon_upperlim = 360 - - lat_lowerlim = -90 - lat_upperlim = 90 - - if binsize.split('x')[0] != binsize.split('x')[1]: - print('ERROR: Binsize must be square i.e. 1x1, 2x2, ' - '5x5 etc. Please use different binsize.') - - binsize = int(binsize.split('x')[0]) - - if latlen % binsize == 0 and lonlen % binsize == 0: - latbin = int(latlen/binsize) - lonbin = int(lonlen/binsize) - n_deg = binsize/2 - - ll_lats = np.linspace(lat_lowerlim+(n_deg), - lat_upperlim-(n_deg), - latbin) - - ll_lons = np.linspace(lon_lowerlim+(n_deg), - lon_upperlim-(n_deg), - lonbin) - - xx, yy = np.meshgrid(ll_lons, ll_lats) - - stats = _calculate_stats(data[binned_var]) - - labels, cmap, norm, extend = _binned_plot_features( - binned_var, metadata, stats) - - fig = plt.figure(figsize=(15, 12)) - ax = fig.add_subplot( - 1, 1, 1, projection=ccrs.PlateCarree(central_longitude=0)) - - ax.add_feature(cfeature.GSHHSFeature(scale='auto')) - ax.set_extent([-180, 180, -90, 90]) - - cs = plt.pcolormesh(xx, yy, data[binned_var], - norm=norm, cmap=cmap, - transform=ccrs.PlateCarree()) - - ax.text(185, 55, labels['stat text'], fontsize=14) - - cb = plt.colorbar(cs, orientation='horizontal', - shrink=0.5, pad=.04, extend=extend) - cb.ax.tick_params(labelsize=12) - cb.set_label(labels['x label'], fontsize=13) - - plt.title(labels['left title'], loc='left', fontsize=14) - plt.title(labels['date title'], loc='right', - fontweight='semibold', fontsize=14) - - plt.savefig(outdir+'/%s_binned_spatial.png' % - labels['save file'], bbox_inches='tight', pad_inches=0.1) - plt.close('all') diff --git a/pyGSI/stats.py b/src/pyGSI/stats.py similarity index 100% rename from pyGSI/stats.py rename to src/pyGSI/stats.py diff --git a/test_conv_yaml.yaml b/test_conv_yaml.yaml deleted file mode 100644 index cca9d7d..0000000 --- a/test_conv_yaml.yaml +++ /dev/null @@ -1,1419 +0,0 @@ -diagnostic: -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 112 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_tcp_ges.2020092000.nc4 - plot type: &id001 - - histogram - - spatial -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 120 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_ps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 180 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_ps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 180 - observation subtype: - - 1 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_ps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 181 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_ps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 182 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_ps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 187 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_ps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 120 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_t_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 130 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_t_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 131 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_t_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 132 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_t_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 133 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_t_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 134 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_t_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 135 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_t_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 180 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_t_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 180 - observation subtype: - - 1 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_t_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 182 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_t_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 120 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_q_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 132 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_q_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 133 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_q_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 180 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_q_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 180 - observation subtype: - - 1 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_q_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 182 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_q_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 181 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_sst_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 182 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_sst_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 183 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_sst_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 184 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_sst_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 185 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_sst_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 186 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_sst_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 187 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_sst_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 188 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_sst_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 189 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_sst_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 190 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_sst_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 191 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_sst_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 192 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_sst_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 193 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_sst_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 194 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_sst_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 195 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_sst_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 196 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_sst_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 197 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_sst_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 198 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_sst_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 199 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_sst_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 220 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 221 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 223 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 224 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 229 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 230 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 231 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 232 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 233 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 234 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 235 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 242 - observation subtype: - - 171 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 242 - observation subtype: - - 172 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 242 - observation subtype: - - 173 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 242 - observation subtype: - - 174 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 243 - observation subtype: - - 55 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 243 - observation subtype: - - 70 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 244 - observation subtype: - - 3 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 244 - observation subtype: - - 4 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 244 - observation subtype: - - 206 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 244 - observation subtype: - - 207 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 244 - observation subtype: - - 209 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 244 - observation subtype: - - 223 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 245 - observation subtype: - - 270 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 245 - observation subtype: - - 271 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 246 - observation subtype: - - 270 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 246 - observation subtype: - - 271 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 247 - observation subtype: - - 270 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 247 - observation subtype: - - 271 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 250 - observation subtype: - - 171 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 250 - observation subtype: - - 172 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 250 - observation subtype: - - 173 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 250 - observation subtype: - - 174 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 252 - observation subtype: - - 171 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 252 - observation subtype: - - 172 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 252 - observation subtype: - - 173 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 252 - observation subtype: - - 174 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 253 - observation subtype: - - 55 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 253 - observation subtype: - - 70 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 254 - observation subtype: - - 55 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 254 - observation subtype: - - 70 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 257 - observation subtype: - - 783 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 257 - observation subtype: - - 784 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 258 - observation subtype: - - 783 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 258 - observation subtype: - - 784 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 259 - observation subtype: - - 783 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 259 - observation subtype: - - 784 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 260 - observation subtype: - - 224 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 260 - observation subtype: - - 225 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 280 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 280 - observation subtype: - - 1 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 282 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 289 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 290 - observation subtype: - - 4 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 290 - observation subtype: - - 3 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 4 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_gps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 722 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_gps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 723 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_gps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 740 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_gps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 741 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_gps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 742 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_gps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 743 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_gps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 744 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_gps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 745 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_gps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 820 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_gps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 42 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_gps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 43 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_gps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 786 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_gps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 3 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_gps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 825 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_gps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 750 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_gps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 751 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_gps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 752 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_gps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 753 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_gps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 754 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_gps_ges.2020092000.nc4 - plot type: *id001 -- conventional input: - analysis use: - - true - data type: - - O-F - observation id: - - 755 - observation subtype: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_gps_ges.2020092000.nc4 - plot type: *id001 diff --git a/test_ozone_yaml.yaml b/test_ozone_yaml.yaml deleted file mode 100644 index 66dc66e..0000000 --- a/test_ozone_yaml.yaml +++ /dev/null @@ -1,183 +0,0 @@ -diagnostic: -- ozone input: - analysis use: - - true - data type: - - O-F - layer: - - 6 - path: - - /scratch2/NCEPDEV/stmp1/Cory.R.Martin/DARTH/2020100712/GSI_out/diag_ompsnp_npp_ges.2020100712_ensmean.nc4 - plot type: &id001 - - histogram - - spatial -- ozone input: - analysis use: - - true - data type: - - O-F - layer: - - 7 - path: - - /scratch2/NCEPDEV/stmp1/Cory.R.Martin/DARTH/2020100712/GSI_out/diag_ompsnp_npp_ges.2020100712_ensmean.nc4 - plot type: *id001 -- ozone input: - analysis use: - - true - data type: - - O-F - layer: - - 8 - path: - - /scratch2/NCEPDEV/stmp1/Cory.R.Martin/DARTH/2020100712/GSI_out/diag_ompsnp_npp_ges.2020100712_ensmean.nc4 - plot type: *id001 -- ozone input: - analysis use: - - true - data type: - - O-F - layer: - - 9 - path: - - /scratch2/NCEPDEV/stmp1/Cory.R.Martin/DARTH/2020100712/GSI_out/diag_ompsnp_npp_ges.2020100712_ensmean.nc4 - plot type: *id001 -- ozone input: - analysis use: - - true - data type: - - O-F - layer: - - 10 - path: - - /scratch2/NCEPDEV/stmp1/Cory.R.Martin/DARTH/2020100712/GSI_out/diag_ompsnp_npp_ges.2020100712_ensmean.nc4 - plot type: *id001 -- ozone input: - analysis use: - - true - data type: - - O-F - layer: - - 11 - path: - - /scratch2/NCEPDEV/stmp1/Cory.R.Martin/DARTH/2020100712/GSI_out/diag_ompsnp_npp_ges.2020100712_ensmean.nc4 - plot type: *id001 -- ozone input: - analysis use: - - true - data type: - - O-F - layer: - - 12 - path: - - /scratch2/NCEPDEV/stmp1/Cory.R.Martin/DARTH/2020100712/GSI_out/diag_ompsnp_npp_ges.2020100712_ensmean.nc4 - plot type: *id001 -- ozone input: - analysis use: - - true - data type: - - O-F - layer: - - 13 - path: - - /scratch2/NCEPDEV/stmp1/Cory.R.Martin/DARTH/2020100712/GSI_out/diag_ompsnp_npp_ges.2020100712_ensmean.nc4 - plot type: *id001 -- ozone input: - analysis use: - - true - data type: - - O-F - layer: - - 14 - path: - - /scratch2/NCEPDEV/stmp1/Cory.R.Martin/DARTH/2020100712/GSI_out/diag_ompsnp_npp_ges.2020100712_ensmean.nc4 - plot type: *id001 -- ozone input: - analysis use: - - true - data type: - - O-F - layer: - - 15 - path: - - /scratch2/NCEPDEV/stmp1/Cory.R.Martin/DARTH/2020100712/GSI_out/diag_ompsnp_npp_ges.2020100712_ensmean.nc4 - plot type: *id001 -- ozone input: - analysis use: - - true - data type: - - O-F - layer: - - 16 - path: - - /scratch2/NCEPDEV/stmp1/Cory.R.Martin/DARTH/2020100712/GSI_out/diag_ompsnp_npp_ges.2020100712_ensmean.nc4 - plot type: *id001 -- ozone input: - analysis use: - - true - data type: - - O-F - layer: - - 17 - path: - - /scratch2/NCEPDEV/stmp1/Cory.R.Martin/DARTH/2020100712/GSI_out/diag_ompsnp_npp_ges.2020100712_ensmean.nc4 - plot type: *id001 -- ozone input: - analysis use: - - true - data type: - - O-F - layer: - - 18 - path: - - /scratch2/NCEPDEV/stmp1/Cory.R.Martin/DARTH/2020100712/GSI_out/diag_ompsnp_npp_ges.2020100712_ensmean.nc4 - plot type: *id001 -- ozone input: - analysis use: - - true - data type: - - O-F - layer: - - 19 - path: - - /scratch2/NCEPDEV/stmp1/Cory.R.Martin/DARTH/2020100712/GSI_out/diag_ompsnp_npp_ges.2020100712_ensmean.nc4 - plot type: *id001 -- ozone input: - analysis use: - - true - data type: - - O-F - layer: - - 20 - path: - - /scratch2/NCEPDEV/stmp1/Cory.R.Martin/DARTH/2020100712/GSI_out/diag_ompsnp_npp_ges.2020100712_ensmean.nc4 - plot type: *id001 -- ozone input: - analysis use: - - true - data type: - - O-F - layer: - - 21 - path: - - /scratch2/NCEPDEV/stmp1/Cory.R.Martin/DARTH/2020100712/GSI_out/diag_ompsnp_npp_ges.2020100712_ensmean.nc4 - plot type: *id001 -- ozone input: - analysis use: - - true - data type: - - O-F - layer: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Cory.R.Martin/DARTH/2020100712/GSI_out/diag_omi_aura_ges.2020100712_ensmean.nc4 - plot type: *id001 -- ozone input: - analysis use: - - true - data type: - - O-F - layer: - - 0 - path: - - /scratch2/NCEPDEV/stmp1/Cory.R.Martin/DARTH/2020100712/GSI_out/diag_ompstc8_npp_ges.2020100712_ensmean.nc4 - plot type: *id001 diff --git a/test_sat_yaml.yaml b/test_sat_yaml.yaml deleted file mode 100644 index 6769ff3..0000000 --- a/test_sat_yaml.yaml +++ /dev/null @@ -1,8143 +0,0 @@ -diagnostic: -- radiance input: - channel: - - 1 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n15_ges.2020092000.nc4 - plot type: &id001 - - histogram - - spatial - qc flag: - - 0 -- radiance input: - channel: - - 2 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n15_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 3 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n15_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 4 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n15_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 5 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n15_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 7 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n15_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 8 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n15_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 9 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n15_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 10 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n15_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 12 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n15_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 13 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n15_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 15 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n15_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n18_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n18_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 3 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n18_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 4 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n18_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 6 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n18_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 7 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n18_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 10 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n18_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 11 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n18_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 12 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n18_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 13 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n18_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 15 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n18_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 3 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 4 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 5 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 6 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 9 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 10 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 11 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 12 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 13 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 15 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 16 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 38 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 49 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 51 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 55 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 57 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 59 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 61 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 63 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 66 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 70 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 72 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 74 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 79 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 81 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 83 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 85 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 87 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 104 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 106 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 109 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 111 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 113 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 116 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 119 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 122 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 125 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 128 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 131 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 133 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 135 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 138 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 141 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 144 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 146 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 148 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 151 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 154 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 157 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 159 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 161 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 163 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 167 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 170 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 173 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 176 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 180 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 185 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 187 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 193 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 199 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 205 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 207 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 210 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 212 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 214 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 217 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 219 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 222 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 224 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 226 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 230 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 232 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 236 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 239 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 243 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 246 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 249 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 252 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 254 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 260 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 262 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 265 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 267 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 275 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 282 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 294 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 296 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 299 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 303 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 306 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 323 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 327 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 329 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 335 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 345 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 347 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 350 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 354 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 356 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 360 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 366 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 371 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 373 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 375 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 377 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 379 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 381 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 383 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 386 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 389 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 398 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 401 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 404 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 407 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 410 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 414 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 416 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 426 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 428 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 432 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 434 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 439 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 445 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 457 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 515 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 546 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 552 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 559 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 566 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 571 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 573 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 646 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 662 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 668 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 756 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 867 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 906 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 921 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1027 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1046 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1121 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1133 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1191 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1194 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1271 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1479 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1509 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1513 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1521 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1536 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1574 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1579 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1585 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1587 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1626 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1639 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1643 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1652 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1658 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1671 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1786 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1805 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1884 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1991 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2019 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2094 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2119 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2213 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2239 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2271 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2321 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2398 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2701 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2889 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2958 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2993 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 3002 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 3049 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 3105 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 3110 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 5381 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 5399 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 5480 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-a_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 7 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 15 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 20 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 21 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 22 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 27 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 28 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 40 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 52 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 69 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 72 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 92 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 93 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 98 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 99 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 104 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 105 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 110 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 111 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 116 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 117 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 123 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 128 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 129 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 138 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 139 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 144 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 145 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 150 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 151 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 156 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 157 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 162 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 168 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 169 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 172 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 173 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 174 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 175 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 179 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 180 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 185 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 186 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 190 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 192 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 198 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 201 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 204 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 207 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 210 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 215 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 216 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 226 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 227 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 232 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 252 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 253 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 256 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 257 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 261 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 262 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 267 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 272 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 295 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 299 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 305 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 310 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 325 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 333 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 338 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 355 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 362 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 375 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 475 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 497 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 528 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 587 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 672 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 787 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 791 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 870 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 914 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 950 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1301 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1304 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1329 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1371 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1382 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1415 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1424 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1449 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1455 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1477 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1500 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1519 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1565 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1574 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1627 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1669 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1694 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1766 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1800 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1826 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1865 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1866 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1868 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1869 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1872 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1873 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1876 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1881 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1882 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1911 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1917 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1918 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1924 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1928 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_airs_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 8 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 9 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 10 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 11 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 12 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 13 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_aqua_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n19_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n19_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 3 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n19_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 4 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n19_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 5 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n19_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 6 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n19_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 9 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n19_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 10 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n19_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 11 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n19_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 12 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n19_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 13 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n19_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 15 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_n19_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_mhs_n19_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_mhs_n19_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 4 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_mhs_n19_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 5 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_mhs_n19_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_ssmis_f17_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 5 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_ssmis_f17_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 6 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_ssmis_f17_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 7 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_ssmis_f17_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 24 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_ssmis_f17_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 5 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_seviri_m08_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 6 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_seviri_m08_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 5 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_seviri_m11_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 6 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_seviri_m11_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 3 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 4 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 5 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 6 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 7 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 8 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 9 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 10 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 11 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 12 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 13 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 14 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 16 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 17 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 18 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 19 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 20 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 21 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 22 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 3 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 4 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 5 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 6 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 7 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 8 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 9 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 10 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 11 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 12 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 13 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 14 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 16 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 17 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 18 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 19 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 20 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 21 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 22 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_atms_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 24 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 26 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 28 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 32 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 37 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 39 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 42 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 44 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 47 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 49 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 51 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 53 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 55 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 57 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 59 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 61 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 63 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 65 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 67 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 69 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 71 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 73 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 75 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 77 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 79 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 81 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 83 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 85 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 87 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 89 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 91 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 93 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 95 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 97 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 99 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 103 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 105 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 107 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 109 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 111 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 113 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 115 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 117 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 119 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 121 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 123 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 125 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 127 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 129 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 131 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 133 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 135 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 137 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 139 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 141 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 143 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 145 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 147 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 149 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 151 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 153 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 155 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 157 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 159 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 163 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 167 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 171 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 175 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 179 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 183 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 187 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 190 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 194 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 197 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 200 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 211 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 224 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 275 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 279 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 291 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 311 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 332 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 342 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 389 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 410 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 427 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 464 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 482 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 501 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 529 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 710 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 713 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 742 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 882 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 890 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 937 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 995 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1008 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1022 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1058 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_npp_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 24 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 26 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 28 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 32 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 37 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 39 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 42 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 44 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 47 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 49 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 51 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 53 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 55 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 57 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 59 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 61 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 63 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 65 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 67 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 69 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 71 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 73 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 75 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 77 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 79 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 81 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 83 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 85 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 87 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 89 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 91 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 93 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 95 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 97 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 99 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 103 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 105 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 107 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 109 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 111 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 113 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 115 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 117 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 119 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 121 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 123 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 125 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 127 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 129 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 131 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 133 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 135 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 137 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 139 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 141 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 143 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 145 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 147 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 149 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 151 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 153 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 155 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 157 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 159 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 163 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 167 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 171 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 175 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 179 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 183 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 187 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 190 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 194 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 197 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 200 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 211 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 224 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 275 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 279 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 291 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 311 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 332 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 342 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 389 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 410 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 427 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 464 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 482 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 501 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 529 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 710 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 713 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 742 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 882 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 890 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 937 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 995 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1008 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1022 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1058 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_cris-fsr_n20_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 8 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 9 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 10 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 11 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 12 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 13 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_mhs_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_mhs_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 3 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_mhs_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 4 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_mhs_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 5 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_mhs_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 16 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 38 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 49 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 51 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 55 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 57 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 59 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 61 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 63 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 66 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 70 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 72 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 74 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 79 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 81 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 83 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 85 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 87 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 104 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 106 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 109 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 111 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 113 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 116 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 119 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 122 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 125 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 128 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 131 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 133 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 135 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 138 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 141 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 144 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 146 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 148 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 151 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 154 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 157 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 159 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 161 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 163 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 167 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 170 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 173 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 176 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 180 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 185 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 187 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 193 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 199 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 205 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 207 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 210 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 212 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 214 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 217 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 219 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 222 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 224 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 226 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 230 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 232 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 236 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 239 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 243 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 246 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 249 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 252 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 254 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 260 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 262 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 265 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 267 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 275 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 282 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 294 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 296 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 299 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 303 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 306 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 323 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 327 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 329 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 335 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 345 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 347 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 350 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 354 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 356 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 360 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 366 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 371 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 373 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 375 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 377 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 379 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 381 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 383 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 386 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 389 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 398 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 401 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 404 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 407 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 410 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 414 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 416 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 426 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 428 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 432 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 434 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 439 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 445 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 457 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 515 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 546 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 552 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 559 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 566 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 571 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 573 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 646 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 662 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 668 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 756 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 867 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 906 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 921 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1027 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1046 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1121 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1133 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1191 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1194 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1271 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1479 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1509 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1513 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1521 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1536 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1574 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1579 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1585 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1587 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1626 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1639 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1643 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1652 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1658 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1671 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1786 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1805 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1884 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1991 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2019 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2094 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2119 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2213 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2239 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2271 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2321 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2398 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2701 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2889 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2958 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2993 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 3002 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 3049 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 3105 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 3110 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 5381 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 5399 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 5480 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_iasi_metop-b_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_saphir_meghat_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_saphir_meghat_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 3 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_saphir_meghat_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 4 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_saphir_meghat_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 5 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_saphir_meghat_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 6 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_saphir_meghat_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 8 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_ahi_himawari8_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 9 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_ahi_himawari8_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 10 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_ahi_himawari8_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 8 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_abi_g16_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 10 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_abi_g16_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-c_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-c_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 3 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-c_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 4 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-c_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 5 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-c_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 6 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-c_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 7 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-c_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 8 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-c_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 9 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-c_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 10 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-c_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 11 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-c_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 12 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-c_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 13 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-c_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 15 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_amsua_metop-c_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 1 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_mhs_metop-c_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 2 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_mhs_metop-c_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 3 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_mhs_metop-c_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 4 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_mhs_metop-c_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 -- radiance input: - channel: - - 5 - data type: - - O-F - path: - - /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_mhs_metop-c_ges.2020092000.nc4 - plot type: *id001 - qc flag: - - 0 diff --git a/ush/SpatialTemporalStatsTool/README.md b/ush/SpatialTemporalStatsTool/README.md new file mode 100644 index 0000000..40b7d02 --- /dev/null +++ b/ush/SpatialTemporalStatsTool/README.md @@ -0,0 +1,90 @@ +### November 2024 +### Azadeh Gholoubi +# Spatial and Temporal Analysis Tool for Satellite Observation Data + +## Overview +**Purpose**: This tool performs spatial and temporal analysis for satellite observation data, allowing users to create customizable grids, filter data by time and region, and generate statistical and summary plots. + +### Key Functionalities: +- Grid-based Data Summaries: Creates spatial grids for data aggregation. +- Data Filtering: Processes data across specified time frames and geographical regions. +- Visualization: Generates evaluation plots for different data attributes and regions + +The `SpatialTemporalStats` class is central to this tool, with methods for creating grids, reading observational data, filtering, plotting, and producing summary statistics. + +### Important Methods of the SpatialTemporalStats Class +- `generate_grid(resolution=1)`: Generates a spatial grid with specified resolution (default: 1x1 degree). +- `read_obs_values()`: Reads and filters observational data from NetCDF files, performs spatial averaging, and returns averaged values. +- `plot_obs()`: Plots observation data on a map, with options for different regions and grid sizes. +- `list_variable_names(file_path)`: Lists variable names available in a specified NetCDF file. +- `make_summary_plots()`: Generates scatter plots for counts, means, and standard deviations of observational data. + +## Requirements +User need to load EVA environment when working on Hera, use the following commands: +``` +cd GDASApp/modulefiles/ +module load EVA/hera + +``` + +## Usage +To get started, run the following command to see all available options and argument formats: +```python +python SpatialTemporalStats.py -h +``` +This command will display detailed information on how to input your settings. Key parameters include: + +- input: Path to input data files +- output: Path for saving the results +- sensor: Satellite sensor name (e.g., "atms_n20") +- var: Variable to analyze (e.g., "Obs_Minus_Forecast_adjusted") +- ch: Channel number for the analysis (e.g., 1) +- grid: Grid resolution for spatial analysis (choices: 0.5, 1, 2; default: 1) +- region: Region code for map plot: +1 – Global +2 – Polar region (+60° latitude and above) +3 – Northern mid-latitudes (20° to 60° latitude) +4 – Tropics (-20° to 20° latitude) +5 – Southern mid-latitudes (-60° to -20° latitude) +6 – Southern polar region (below -60° latitude) +- sdate / -edate: Start and end dates for the time period (e.g., "2023-01-27" to "2023-01-28") +These parameters allow you to customize the spatial and temporal analysis to suit specific data and regions. + + + + ## Notes + Ensure that the `obs_files_path` and `output_path` variables are correctly set to the paths of observational files and output directory, respectively. + Adjust method parameters and plotting settings as needed for your specific use case. + Make sure to define the `filter_by_variable` method as needed for filtering observational data based on variable values. + +## Example Usage + +```python +python SpatialTemporalStats.py -input /PATH/TO/INPUT/DIAG/FILES -output ./Results -sensor "atms_n20" -var "Obs_Minus_Forecast_adjusted" -ch 1 -grid 2 -region 1 -sdate "2023-01-27" -edate "2023-01-28" +``` + +## Example output plots using different settings +```python +-sensor "atms_n20" -var "Obs_Minus_Forecast_adjusted" -ch 1 -grid 2 -region 1 -sdate "2023-01-27" -edate "2023-01-28" +``` +![atms_n20_ch1_Obs_Minus_Forecast_adjusted_Average_region_1](https://github.com/user-attachments/assets/e0ddcf64-8ce1-4175-b646-71d1d38ec3d4) +![atms_n20_ch1_Obs_Minus_Forecast_adjusted_Count_region_1](https://github.com/user-attachments/assets/a33dd6c4-bfb0-4ae9-a46d-02086f7dc960) +![atms_n20_ch1_Obs_Minus_Forecast_adjusted_RMS_region_1](https://github.com/user-attachments/assets/f9b34e74-7511-464d-a27d-82f08cfa5c6b) + + +Example plot for filtering out the locations where the land fraction is less than 0.9 +```python + -filter_by_vars Land_Fraction,lt,0.9 +``` +![atms_n20_ch1_Obs_Minus_Forecast_adjusted_Average_region_1](https://github.com/user-attachments/assets/bc6b7215-9d26-41c8-b51d-0f51d42238c3) + +Example of the summary plots: +![atms_n20_Obs_Minus_Forecast_adjusted_mean_std](https://github.com/user-attachments/assets/99b09315-1faa-4fd1-9c26-e7b591dba2fc) +![atms_n20_Obs_Minus_Forecast_adjusted_sumamryCounts](https://github.com/user-attachments/assets/449cd174-f50d-4521-ab9f-e0d4b6f5ad9b) + + + + + + + diff --git a/ush/SpatialTemporalStatsTool/Results/atms_n20_ch1_Obs_Minus_Forecast_adjusted_Average_region_1.gpkg b/ush/SpatialTemporalStatsTool/Results/atms_n20_ch1_Obs_Minus_Forecast_adjusted_Average_region_1.gpkg new file mode 100644 index 0000000..a8f4ee6 Binary files /dev/null and b/ush/SpatialTemporalStatsTool/Results/atms_n20_ch1_Obs_Minus_Forecast_adjusted_Average_region_1.gpkg differ diff --git a/ush/SpatialTemporalStatsTool/Results/atms_n20_ch1_Obs_Minus_Forecast_adjusted_Count_region_1.gpkg b/ush/SpatialTemporalStatsTool/Results/atms_n20_ch1_Obs_Minus_Forecast_adjusted_Count_region_1.gpkg new file mode 100644 index 0000000..ea5bff3 Binary files /dev/null and b/ush/SpatialTemporalStatsTool/Results/atms_n20_ch1_Obs_Minus_Forecast_adjusted_Count_region_1.gpkg differ diff --git a/ush/SpatialTemporalStatsTool/Results/atms_n20_ch1_Obs_Minus_Forecast_adjusted_RMS_region_1.gpkg b/ush/SpatialTemporalStatsTool/Results/atms_n20_ch1_Obs_Minus_Forecast_adjusted_RMS_region_1.gpkg new file mode 100644 index 0000000..69ffb32 Binary files /dev/null and b/ush/SpatialTemporalStatsTool/Results/atms_n20_ch1_Obs_Minus_Forecast_adjusted_RMS_region_1.gpkg differ diff --git a/ush/SpatialTemporalStatsTool/Results/atms_n20_summary.csv b/ush/SpatialTemporalStatsTool/Results/atms_n20_summary.csv new file mode 100644 index 0000000..98cd758 --- /dev/null +++ b/ush/SpatialTemporalStatsTool/Results/atms_n20_summary.csv @@ -0,0 +1,23 @@ +channel,count,std,mean,rms +1,45262,2.6988273643037384,0.19821635086344594,2.7060966102607162 +2,44462,2.885330599655865,0.44061785540288817,2.918780012918158 +3,45276,2.3529656988789394,0.13292025534906543,2.3567170755911815 +4,45672,1.4469203953076863,0.0448353262127089,1.4476148786310565 +5,45700,0.4795219456469957,0.017871514061625335,0.4798548607359764 +6,45744,0.15752856235399282,0.0006352198961456739,0.15752984308261478 +7,52929,0.11603420279762479,0.0021500649409356577,0.11605412098728322 +8,84112,0.11362915543792347,0.007189899951947341,0.1138563991475909 +9,84122,0.1242098780941416,0.005015079193266936,0.12431108090382417 +10,84119,0.1678040669750801,0.0012762595843600758,0.1678089202989674 +11,84063,0.20609831023729452,0.0049344418110122325,0.20615737240917775 +12,83916,0.25259764753168185,0.0011790454284033073,0.25260039922111327 +13,82352,0.358631419062375,-0.01701693121436197,0.35903491569296797 +14,83415,0.6214590289702845,-0.08582188340839891,0.6273569321849265 +15,83772,1.0779297883385832,-0.9148381735994018,1.4138109889452872 +16,40843,3.4015874021960975,0.12291585633857981,3.4038074508583764 +17,42105,2.0949495712374997,-0.0925232459163654,2.0969917160216016 +18,42368,1.3821771839342785,-0.010803419354404722,1.38221940431261 +19,45173,1.368377491943836,0.0239483131097599,1.3685870385764136 +20,45107,1.4126293284373275,0.09488016782235158,1.4158120870395723 +21,44935,1.4810928233580214,0.134929813972193,1.4872262793876698 +22,44728,1.5653715176881486,0.1405545452597037,1.5716690391372394 diff --git a/ush/SpatialTemporalStatsTool/SpatialTemporalStats.py b/ush/SpatialTemporalStatsTool/SpatialTemporalStats.py new file mode 100644 index 0000000..53280cd --- /dev/null +++ b/ush/SpatialTemporalStatsTool/SpatialTemporalStats.py @@ -0,0 +1,691 @@ +import argparse +import os +from datetime import datetime + +import cartopy.crs as ccrs +import cartopy.feature as cfeature +import geopandas as gpd +import matplotlib.pyplot as plt +import numpy as np +import pandas as pd +import xarray +from shapely.geometry import Point, Polygon + + +class SpatialTemporalStats: + def __init__(self): + self.grid_gdf = None + self.obs_gdf = None + + def generate_grid(self, resolution=1): + self.resolution = resolution + # Generate the latitude and longitude values using meshgrid + grid_lons, grid_lats = np.meshgrid( + np.arange(-180, 181, resolution), np.arange(-90, 91, resolution) + ) + + # Flatten the arrays to get coordinates + grid_coords = np.vstack([grid_lons.flatten(), grid_lats.flatten()]).T + + # Create a GeoDataFrame from the coordinates + self.grid_gdf = gpd.GeoDataFrame( + geometry=[ + Polygon( + [ + (lon, lat), + (lon + resolution, lat), + (lon + resolution, lat + resolution), + (lon, lat + resolution), + ] + ) + for lon, lat in grid_coords + ], + crs="EPSG:4326", + ) # CRS for WGS84 + self.grid_gdf["grid_id"] = np.arange(1, len(self.grid_gdf) + 1) + + def _extract_date_times(self, filenames): + date_times = [] + for filename in filenames: + # Split the filename by '.' to get the parts + parts = filename.split(".") + + # Extract the last part which contains the date/time information + date_time_part = parts[-2] + + # date/time format in filename is 'YYYYMMDDHH', can parse it accordingly + year = int(date_time_part[:4]) + month = int(date_time_part[4:6]) + day = int(date_time_part[6:8]) + hour = int(date_time_part[8:10]) + + # Construct the datetime object + date_time = datetime(year, month, day, hour) + + date_times.append(date_time) + + return date_times + + def read_obs_values( + self, + obs_files_path, + sensor, + var_name, + channel_no, + start_date, + end_date, + filter_by_vars, + QC_filter, + ): + self.sensor = sensor + self.channel_no = channel_no + # read all obs files + all_files = os.listdir(obs_files_path) + obs_files = [ + os.path.join(obs_files_path, file) + for file in all_files + if file.endswith(".nc4") and "diag_%s_ges" % sensor in file + ] + + # get date time from file names + files_date_times_df = pd.DataFrame() + + files_date_times = self._extract_date_times(obs_files) + files_date_times_df["file_name"] = obs_files + files_date_times_df["date_time"] = files_date_times + files_date_times_df["date"] = pd.to_datetime( + files_date_times_df["date_time"].dt.date + ) + + # read start date + start_date = datetime.strptime(start_date, "%Y-%m-%d") + end_date = datetime.strptime(end_date, "%Y-%m-%d") + + studied_cycle_files = files_date_times_df[ + ( + (files_date_times_df["date"] >= start_date) + & ((files_date_times_df["date"] <= end_date)) + ) + ]["file_name"] + + studied_gdf_list = [] + for this_cycle_obs_file in studied_cycle_files: + ds = xarray.open_dataset(this_cycle_obs_file) + + Combined_bool = ds["Channel_Index"].data == channel_no + + if QC_filter: + QC_bool = ds["QC_Flag"].data == 0 + Combined_bool = Combined_bool * QC_bool + + # apply filters by variable + for this_filter in filter_by_vars: + filter_var_name, filter_operation, filter_value = this_filter + if filter_operation == "lt": + this_filter_bool = ds[filter_var_name].data <= filter_value + else: + this_filter_bool = ds[filter_var_name].data >= filter_value + Combined_bool = ( + Combined_bool * ~this_filter_bool + ) # here we have to negate the above bool to make it right + + this_cycle_var_values = ds[var_name].data[Combined_bool] + this_cycle_lat_values = ds["Latitude"].data[Combined_bool] + this_cycle_long_values = ds["Longitude"].data[Combined_bool] + this_cycle_long_values = np.where( + this_cycle_long_values <= 180, + this_cycle_long_values, + this_cycle_long_values - 360, + ) + + geometry = [ + Point(xy) for xy in zip(this_cycle_long_values, this_cycle_lat_values) + ] + + # Create a GeoDataFrame + this_cycle_gdf = gpd.GeoDataFrame(geometry=geometry, crs="EPSG:4326") + this_cycle_gdf["value"] = this_cycle_var_values + + studied_gdf_list.append(this_cycle_gdf) + + studied_gdf = pd.concat(studied_gdf_list) + + # Perform spatial join + joined_gdf = gpd.sjoin(studied_gdf, self.grid_gdf, op="within", how="right") + + # Calculate average values of points in each polygon + self.obs_gdf = self.grid_gdf.copy() + self.obs_gdf[var_name + "_Average"] = joined_gdf.groupby("grid_id")[ + "value" + ].mean() + self.obs_gdf[var_name + "_RMS"] = joined_gdf.groupby("grid_id")["value"].apply( + lambda x: np.sqrt((x**2).mean()) + ) + self.obs_gdf[var_name + "_Count"] = joined_gdf.groupby("grid_id")[ + "value" + ].count() + + # convert count of zero to null. This will help also for plotting + self.obs_gdf[var_name + "_Count"] = np.where( + self.obs_gdf[var_name + "_Count"].values == 0, + np.nan, + self.obs_gdf[var_name + "_Count"].values, + ) + + return self.obs_gdf + + def plot_obs(self, selected_var_gdf, var_name, region, resolution, output_path): + self.resolution = resolution + var_names = [var_name + "_Average", var_name + "_Count", var_name + "_RMS"] + + for _, item in enumerate(var_names): + plt.figure(figsize=(12, 8)) + ax = plt.subplot(1, 1, 1, projection=ccrs.PlateCarree()) + # Add global map coastlines + ax.add_feature(cfeature.GSHHSFeature(scale="auto")) + filtered_gdf = selected_var_gdf.copy() + + if region == 1: + # Plotting global region (no need for filtering) + title = "Global" + # filtered_gdf = selected_var_gdf + + elif region == 2: + # Plotting polar region (+60 latitude and above) + title = "Polar Region (+60 latitude and above)" + filtered_gdf[item] = np.where( + filtered_gdf.geometry.apply( + lambda geom: self.is_polygon_in_polar_region(geom, 60) + ), + filtered_gdf[item], + np.nan, + ) + + elif region == 3: + # Plotting northern mid-latitudes region (20 to 60 latitude) + title = "Northern Mid-latitudes Region (20 to 60 latitude)" + filtered_gdf[item] = np.where( + filtered_gdf.geometry.apply( + lambda geom: self.is_polygon_in_latitude_range(geom, 20, 60) + ), + filtered_gdf[item], + np.nan, + ) + + elif region == 4: + # Plotting tropics region (-20 to 20 latitude) + title = "Tropics Region (-20 to 20 latitude)" + + filtered_gdf[item] = np.where( + filtered_gdf.geometry.apply( + lambda geom: self.is_polygon_in_latitude_range(geom, -20, 20) + ), + filtered_gdf[item], + np.nan, + ) + + elif region == 5: + # Plotting southern mid-latitudes region (-60 to -20 latitude) + title = "Southern Mid-latitudes Region (-60 to -20 latitude)" + filtered_gdf[item] = np.where( + filtered_gdf.geometry.apply( + lambda geom: self.is_polygon_in_latitude_range(geom, -60, -20) + ), + filtered_gdf[item], + np.nan, + ) + + elif region == 6: + # Plotting southern polar region (less than -60 latitude) + title = "Southern Polar Region (less than -60 latitude)" + filtered_gdf[item] = np.where( + filtered_gdf.geometry.apply(lambda geom: geom.centroid.y < -60), + filtered_gdf[item], + np.nan, + ) + # filtered_gdf = selected_var_gdf[ + # selected_var_gdf.geometry.apply(lambda geom: geom.centroid.y < -60) + # ] + + min_val, max_val, std_val, avg_val = ( + filtered_gdf[item].min(), + filtered_gdf[item].max(), + filtered_gdf[item].std(), + filtered_gdf[item].mean(), + ) + + if item == "Obs_Minus_Forecast_adjusted_Average": + max_val_cbar = 5.0 * std_val + min_val_cbar = -5.0 * std_val + cmap = "bwr" + else: + max_val_cbar = max_val + min_val_cbar = min_val + cmap = "jet" + + if item == "Obs_Minus_Forecast_adjusted_Count": + cbar_label = "grid=%dx%d, min=%.3lf, max=%.3lf\n" % ( + resolution, + resolution, + min_val, + max_val, + ) + else: + cbar_label = ( + "grid=%dx%d, min=%.3lf, max=%.3lf, bias=%.3lf, std=%.3lf\n" + % ( + resolution, + resolution, + min_val, + max_val, + avg_val, + std_val, + ) + ) + + filtered_gdf.plot( + ax=ax, + cmap=cmap, + vmin=min_val_cbar, + vmax=max_val_cbar, + column=item, + legend=True, + missing_kwds={"color": "lightgrey"}, + legend_kwds={ + "orientation": "horizontal", + "shrink": 0.5, + "label": cbar_label, + }, + ) + + filtered_gdf.to_file( + os.path.join( + output_path, + "%s_ch%d_%s_region_%d.gpkg" + % (self.sensor, self.channel_no, item, region), + ) + ) + + plt.title("%s\n%s ch:%d %s" % (title, self.sensor, self.channel_no, item)) + plt.savefig( + os.path.join( + output_path, + "%s_ch%d_%s_region_%d.png" + % (self.sensor, self.channel_no, item, region), + ) + ) + plt.close() + + def is_polygon_in_polar_region(self, polygon, latitude_threshold): + """ + Check if a polygon is in the polar region based on a latitude threshold. + """ + # Get the centroid of the polygon + centroid = polygon.centroid + + # Extract the latitude of the centroid + centroid_latitude = centroid.y + + # Check if the latitude is above the threshold + return centroid_latitude >= latitude_threshold + + def is_polygon_in_latitude_range(self, polygon, min_latitude, max_latitude): + """ + Check if a polygon is in the specified latitude range. + """ + # Get the centroid of the polygon + centroid = polygon.centroid + + # Extract the latitude of the centroid + centroid_latitude = centroid.y + + # Check if the latitude is within the specified range + return min_latitude <= centroid_latitude <= max_latitude + + def list_variable_names(self, file_path): + ds = xarray.open_dataset(file_path) + print(ds.info()) + + def make_summary_plots( + self, + obs_files_path, + sensor, + var_name, + start_date, + end_date, + QC_filter, + output_path, + ): + self.sensor = sensor + # read all obs files + all_files = os.listdir(obs_files_path) + obs_files = [ + os.path.join(obs_files_path, file) + for file in all_files + if file.endswith(".nc4") and "diag_%s_ges" % sensor in file + ] + + # get date time from file names. + # alternatively could get from attribute but that needs reading the entire nc4 + files_date_times_df = pd.DataFrame() + + files_date_times = self._extract_date_times(obs_files) + files_date_times_df["file_name"] = obs_files + files_date_times_df["date_time"] = files_date_times + files_date_times_df["date"] = pd.to_datetime( + files_date_times_df["date_time"].dt.date + ) + + # read start date + start_date = datetime.strptime(start_date, "%Y-%m-%d") + end_date = datetime.strptime(end_date, "%Y-%m-%d") + + studied_cycle_files = files_date_times_df[ + ( + (files_date_times_df["date"] >= start_date) + & ((files_date_times_df["date"] <= end_date)) + ) + ]["file_name"] + index = studied_cycle_files.index + + Summary_results = [] + + # get unique channels from one of the files + ds = xarray.open_dataset(studied_cycle_files[index[0]]) + unique_channels = np.unique(ds["Channel_Index"].data).tolist() + print("Total Number of Channels ", len(unique_channels)) + Allchannels_data = {} + for this_channel in unique_channels: + Allchannels_data[this_channel] = np.empty(shape=(0,)) + for this_cycle_obs_file in studied_cycle_files: + ds = xarray.open_dataset(this_cycle_obs_file) + if QC_filter: + QC_bool = ds["QC_Flag"].data == 0.0 + else: + QC_bool = np.ones( + ds["QC_Flag"].data.shape, dtype=bool + ) # this selects all obs as True + for this_channel in unique_channels: + channel_bool = ds["Channel_Index"].data == this_channel + + this_cycle_channel_var_values = ds[var_name].data[ + channel_bool * QC_bool + ] + Allchannels_data[this_channel] = np.append( + Allchannels_data[this_channel], this_cycle_channel_var_values + ) + + for this_channel in unique_channels: + this_channel_values = Allchannels_data[this_channel] + squared_values = [x**2 for x in this_channel_values] + mean_of_squares = sum(squared_values) / len(squared_values) + rms_value = mean_of_squares**0.5 + Summary_results.append( + [ + this_channel, + np.size(this_channel_values), + np.std(this_channel_values), + np.mean(this_channel_values), + rms_value, + ] + ) + + Summary_resultsDF = pd.DataFrame( + Summary_results, columns=["channel", "count", "std", "mean", "rms"] + ) + # Plotting + plt.figure(figsize=(10, 6)) + plt.scatter(Summary_resultsDF["channel"], Summary_resultsDF["count"], s=50) + plt.xlabel("Channel") + plt.ylabel("Count") + plt.title("%s %s" % ((self.sensor, var_name))) + plt.grid(True) + plt.tight_layout() + plt.savefig( + os.path.join( + output_path, "%s_%s_sumamryCounts.png" % (self.sensor, var_name) + ) + ) + plt.close() + + # Plotting scatter plot for mean and std + plt.figure(figsize=(15, 6)) + plt.scatter( + Summary_resultsDF["channel"], + Summary_resultsDF["mean"], + s=50, + c="green", + label="Mean", + ) + plt.scatter( + Summary_resultsDF["channel"], + Summary_resultsDF["std"], + s=50, + c="red", + label="Std", + ) + plt.scatter( + Summary_resultsDF["channel"], + Summary_resultsDF["rms"], + s=50, + label="Rms", + facecolors="none", + edgecolors="blue", + ) + plt.xlabel("Channel") + plt.ylabel("Statistics") + plt.title("%s %s" % ((self.sensor, var_name))) + plt.grid(True) + plt.tight_layout() + plt.legend() + plt.savefig( + os.path.join(output_path, "%s_%s_mean_std.png" % (self.sensor, var_name)) + ) + + return Summary_resultsDF + + +def main( + input_path, + output_path, + sensor, + var_name, + channel, + grid_size, + qc_flag, + region, + start_date, + end_date, + filter_by_vars, +): + # Initialize SpatialTemporalStats object + my_tool = SpatialTemporalStats() + + # Generate grid + my_tool.generate_grid(grid_size) # Call generate_grid method) + print("grid created!") + + # Read observational values and perform analysis + o_minus_f_gdf = my_tool.read_obs_values( + input_path, + sensor, + var_name, + channel, + start_date, + end_date, + filter_by_vars, + qc_flag, + ) + + print("read obs values!") + + # Plot observations + print("creating plots...") + + my_tool.plot_obs(o_minus_f_gdf, var_name, region, grid_size, output_path) + print("Time/Area stats plots created!") + + # Make summary plots + print("Creating summary plots...") + summary_results = my_tool.make_summary_plots( + input_path, sensor, var_name, start_date, end_date, qc_flag, output_path + ) + summary_results.to_csv( + os.path.join(output_path, "%s_summary.csv" % sensor), index=False + ) + print("Summary plots created!") + + +def parse_filter(s): + try: + var_name, comparison, threshold = s.split(",") + if comparison not in ("lt", "gt"): + raise ValueError("Comparison must be 'lt' or 'gt'") + return (var_name, comparison, float(threshold)) + except ValueError: + raise argparse.ArgumentTypeError( + "Filter must be in format 'var_name,comparison,threshold'" + ) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + description="Python Tool for Spatial and Temporal Analysis" + ) + + # Add arguments + parser.add_argument( + "-input", + dest="input_path", + help=r"REQUIRED: path to input config nc files", + required=True, + metavar="DIR", + type=str, + ) + parser.add_argument( + "-output", + dest="output_path", + help=r"REQUIRED: path to output files", + required=True, + metavar="DIR", + type=str, + ) + + parser.add_argument( + "-sensor", + dest="sensor", + help=r"REQUIRED: sensor name", + required=True, + metavar="string", + type=str, + ) + parser.add_argument( + "-var", + dest="var_name", + help=r"REQUIRED: variable name", + required=True, + metavar="string", + type=str, + ) + parser.add_argument( + "-ch", + dest="channel", + help=r"REQUIRED the channel number", + required=True, + metavar="integer", + type=int, + ) + parser.add_argument( + "-grid", + dest="grid_size", + help=r"optional: size of grid for plotting (choices: 0.5, 1, 2)", + required=False, + default=1, + metavar="float", + type=float, + ) + parser.add_argument( + "-no_qc_flag", + dest="no_qc_flag", + help=r"Optional: qc flag for filtering", + action="store_true", + ) + parser.add_argument( + "-region", + dest="region", + help="REQUIRED: region for mapplot. 1: global, 2: polar region, 3: mid-latitudes region," + "4: tropics region, 5:southern mid-latitudes region, 6: southern polar region", + required=False, + default=0, + metavar="integer", + type=int, + ) + parser.add_argument( + "-sdate", + dest="start_date", + help=r"REQUIRED: start date of evaluation", + required=False, + default=0, + metavar="string", + type=str, + ) + parser.add_argument( + "-edate", + dest="end_date", + help=r"REQUIRED: end date of evaluation", + required=False, + default=0, + metavar="string", + type=str, + ) + + # New argument for filter criteria + parser.add_argument( + "-filter_by_vars", + dest="filter_by_vars", + help="Optional: Filtering criteria in format 'var_name,comparison," + "threshold'. Example: Land_Fraction,lt,0.9", + nargs="+", + type=parse_filter, + default=[], + ) + + args = vars(parser.parse_args()) + + input_path = args["input_path"] + output_path = args["output_path"] + sensor = args["sensor"] + var_name = args["var_name"] + channel = args["channel"] + grid_size = args["grid_size"] + region = args["region"] + start_date = args["start_date"] + end_date = args["end_date"] + + if args["no_qc_flag"]: + qc_flag = False + else: + qc_flag = True + + # Accessing and printing the parsed filter criteria + if args["filter_by_vars"]: + for filter_criteria in args["filter_by_vars"]: + print( + f"Variable: {filter_criteria[0]}," + f"Comparison: {filter_criteria[1]}," + f"Threshold: {filter_criteria[2]}" + ) + + main( + input_path, + output_path, + sensor, + var_name, + channel, + grid_size, + qc_flag, + region, + start_date, + end_date, + args["filter_by_vars"], + ) diff --git a/ush/convinfo2yaml.py b/ush/convinfo2yaml.py index f6c694b..c30760b 100755 --- a/ush/convinfo2yaml.py +++ b/ush/convinfo2yaml.py @@ -113,6 +113,7 @@ def main(config): default='omf', required=False) parser.add_argument('-m', '--monitor', action='store_true', help='include monitored obs?', required=False) + args = parser.parse_args() config = vars(args) diff --git a/ush/obsErrorAssignmentTool/ObsErrorAssignment.py b/ush/obsErrorAssignmentTool/ObsErrorAssignment.py new file mode 100644 index 0000000..4102665 --- /dev/null +++ b/ush/obsErrorAssignmentTool/ObsErrorAssignment.py @@ -0,0 +1,535 @@ +import argparse +import glob + +import matplotlib.pyplot as plt +import numpy as np +import pandas as pd +import xarray as xr +from scipy.stats import gaussian_kde + + +def calculate_statistics(nc4_files, channel, BinValue, qc_num): + """ + Calculate observation statistics necessary for estimating observation error parameters. + + Parameters: + nc4_files (list): List of paths to netCDF4 files. + channel (int): Channel number. + bin_value (float): Size of the bin for data categorization. + qc_num (int): Quality control flag for filtering. + + Returns: + Tuple: QCDataSummaryDF (DataFrame), AllDataSummaryDF (DataFrame), + All_o_f (numpy.ndarray), All_clw (numpy.ndarray). + """ + Bins = np.arange(0, 2.51, BinValue) + BinsLength = len(Bins) - 1 + + # create a dict to hold values for each bin + QCData = {} + AllData = {} + All_o_f = np.array([]) # this keeps o-f raw data (no binning) + All_clw = np.array([]) # this keeps clw raw data (no binning) + + for i in range(BinsLength): + BinLow, BinHigh = str(round(Bins[i], 2)), str(round(Bins[i + 1], 2)) + QCData["%s_%s" % (BinLow, BinHigh)] = np.array([]) + AllData["%s_%s" % (BinLow, BinHigh)] = np.array([]) + + for fileNo, filePath in enumerate(nc4_files): + print(fileNo + 1) + file = xr.open_dataset(filePath) + channelNum = file["Channel_Index"].isin(channel) + O_F = file["Obs_Minus_Forecast_adjusted"][channelNum].values + QC_Flag = file["QC_Flag"][channelNum].values + clw_mean = ( + file["clw_guess"][channelNum].values + file["clw_obs"][channelNum].values + ) / 2 + # first remove O minus F outliers + CheckBool = QC_Flag == qc_num + O_F = O_F[CheckBool] + clw_mean = clw_mean[CheckBool] + # record O-F for use in PDF plot + All_o_f = np.append(All_o_f, O_F) + All_clw = np.append(All_clw, clw_mean) + for i in range(BinsLength): + BinLow, BinHigh = str(round(Bins[i], 2)), str(round(Bins[i + 1], 2)) + CheckBool = (clw_mean <= float(BinHigh)) & (clw_mean >= float(BinLow)) + ThisFile_O_F = O_F[CheckBool] + QCData["%s_%s" % (BinLow, BinHigh)] = np.append( + QCData["%s_%s" % (BinLow, BinHigh)], ThisFile_O_F + ) + + # collect data without QC + BT = file["Observation"][channelNum].values + O_F = file["Obs_Minus_Forecast_adjusted"][channelNum].values + clw_mean = ( + file["clw_guess"][channelNum].values + file["clw_obs"][channelNum].values + ) / 2 + + CheckBool = (BT < 500) & (BT > 50) + O_F = O_F[CheckBool] + clw_mean = clw_mean[CheckBool] + for i in range(BinsLength): + BinLow, BinHigh = str(round(Bins[i], 2)), str(round(Bins[i + 1], 2)) + CheckBool = (clw_mean <= float(BinHigh)) & (clw_mean >= float(BinLow)) + ThisFile_O_F = O_F[CheckBool] + AllData["%s_%s" % (BinLow, BinHigh)] = np.append( + AllData["%s_%s" % (BinLow, BinHigh)], ThisFile_O_F + ) + + AllDataSummary = [] + for bins, bin_values in AllData.items(): + cle_mean = 0.5 * (float(bins.split("_")[0]) + float(bins.split("_")[1])) + if len(bin_values) > 1: + AllDataSummary.append( + [ + bins, + cle_mean, + np.mean(bin_values), + np.std(bin_values), + len(bin_values), + ] + ) + AllDataSummaryDF = pd.DataFrame( + AllDataSummary, + columns=[ + "Bin", + "Mean cloud Amount", + "FG Departure", + "FG Departure std.Dev", + "Count", + ], + ) + AllDataSummaryDF.dropna(inplace=True) + + QCDataSummary = [] + for bins, bin_values in QCData.items(): + cle_mean = 0.5 * (float(bins.split("_")[0]) + float(bins.split("_")[1])) + if len(bin_values) > 1: + QCDataSummary.append( + [ + bins, + cle_mean, + np.mean(bin_values), + np.std(bin_values), + len(bin_values), + ] + ) + QCDataSummaryDF = pd.DataFrame( + QCDataSummary, + columns=[ + "Bin", + "Mean cloud Amount", + "FG Departure", + "FG Departure std.Dev", + "Count", + ], + ) + QCDataSummaryDF.dropna(inplace=True) + + return QCDataSummaryDF, AllDataSummaryDF, All_o_f, All_clw + + +# find the second point +def find_clw_cloudy(QCDataSummaryDF): + """ + Find the clw_cld parameter value based on the maximum slope of the FG Departure std.Dev. + + This function calculates the clw_cld parameter value based on the maximum slope + of the FG Departure std.Dev, which changes as a function of the mean cloud amount. + + Parameters: + QCDataSummaryDF (DataFrame): DataFrame summarizing QC data. + + Returns: + float: The calculated clw_cld parameter value. + + """ + QCDataSummaryDF["x"] = QCDataSummaryDF["Mean cloud Amount"] + QCDataSummaryDF["y"] = QCDataSummaryDF["FG Departure std.Dev"] + x = QCDataSummaryDF["x"].values + y = QCDataSummaryDF["y"].values + MaxOfY = QCDataSummaryDF["y"].max() + + # coordinates of the first point + XOfFirst = x[np.argmin(x)] + YOfFirst = y[np.argmin(x)] + + # find the point on west of max y + XOfYMax = x[np.argmax(y)] + CandidatePoints = QCDataSummaryDF[QCDataSummaryDF["x"] <= XOfYMax] + CandidatePoints = CandidatePoints[CandidatePoints["x"] != XOfFirst] + + maxslope = 0 + for i, row in CandidatePoints.iterrows(): + tempslope = (row["y"] - YOfFirst) / (row["x"] - XOfFirst) + if tempslope > maxslope: + maxslope = tempslope + + clw_cld = (MaxOfY - YOfFirst) / maxslope + return clw_cld + XOfFirst + + +def error_estimation(QCDataSummaryDF): + """ + Estimate observation error parameters based on the provided QCDataSummaryDF DataFrame. + + Parameters: + QCDataSummaryDF (DataFrame): DataFrame summarizing QC data. + + Returns: + Tuple: x (list), y (list), and error parameters (list). + """ + cLW_mean = QCDataSummaryDF["Mean cloud Amount"].values + err = QCDataSummaryDF["FG Departure std.Dev"].values + ErrCld = np.max(err) + ErrClr = err[0] + lastX = cLW_mean[-1] + Clw_clr = cLW_mean[0] + clw_cld = find_clw_cloudy(QCDataSummaryDF) + x = [0, Clw_clr, clw_cld, lastX] + y = [ErrClr, ErrClr, ErrCld, ErrCld] + errorParam = [ErrCld, ErrClr, Clw_clr, clw_cld] + return x, y, errorParam + + +def read_previous_parameters( + sensor_name, channel_num, path_cloudy_radiance_info, path_global_satinfo +): + """ + Read previous parameters from specified files. + + Parameters: + sensor_name (str): Name of the sensor. + channel_num (int): Channel number. + path_cloudy_radiance_info (str): Path to cloudy radiance info file. + path_global_satinfo (str): Path to global satinfo file. + + Returns: + Tuple: x1 (list), y1 (list) values read from the files. + """ + # first from cloudy_radiance file + senseor_generic_name = sensor_name.split("_")[0] + with open(path_cloudy_radiance_info) as TXTFile: + for linenumer, line in enumerate(TXTFile): + if line.startswith("obs_%s" % senseor_generic_name): + for _ in range(4): + TXTFile.readline() + while 1: + ch, cclr, ccld = TXTFile.readline().strip().split() + if int(ch) == channel_num: + break + # now read global_satinfo + satinfoDF = pd.read_csv(path_global_satinfo, delim_whitespace=True) + satinfoDF = satinfoDF.rename(columns={"!sensor/instr/sat": "sensor_name"}) + satinfoDF = satinfoDF.set_index("sensor_name") + satinfoDF = satinfoDF[satinfoDF["chan"] == channel_num] + error = satinfoDF.loc[sensor_name, "error"] + error_cld = satinfoDF.loc[sensor_name, "error_cld"] + x1 = [float(cclr), float(ccld)] + y1 = [float(error), float(error_cld)] + return x1, y1 + + +def plots( + AllDataSummaryDF, + QCDataSummaryDF, + output_path, + sensor, + channel, + x, + y, + x1, + y1, + All_o_f, + AllErrors, +): + """ + Generate plots based on provided data. + + Parameters: + AllDataSummaryDF (DataFrame): DataFrame summarizing all data. + QCDataSummaryDF (DataFrame): DataFrame summarizing QC data. + output_path (str): Path to save the plots. + sensor (str): Sensor name. + channel (int): Channel number. + x (list): List of x values. + y (list): List of y values. + x1 (list): List of x1 values. + y1 (list): List of y1 values. + All_o_f (numpy.ndarray): Array containing all observed minus forecast values. + AllErrors (numpy.ndarray): Array containing all errors. + """ + fig = plt.figure(figsize=(8, 12)) + ax1 = fig.add_subplot(2, 2, 1) + ax1.scatter( + QCDataSummaryDF["Mean cloud Amount"], + QCDataSummaryDF["FG Departure std.Dev"], + marker="o", + color="dodgerblue", + label="QC", + s=4, + ) + ax1.scatter( + AllDataSummaryDF["Mean cloud Amount"], + AllDataSummaryDF["FG Departure std.Dev"], + marker="o", + color="dimgrey", + label="All", + s=4, + ) + ax1.scatter(x1, y1, color="red", label="original", marker="o", s=6) + ax1.plot(x, y, color="green", label="New", linestyle="--") + ax1.scatter(x[1:3], y[1:3], marker="X", color="green", label="New Parameters", s=15) + + ax1.set_xlabel("Mean Cloud Amount", fontsize=14) + ax1.set_ylabel("FG Departure std.Dev", fontsize=14) + ax1.legend(loc="upper left", markerscale=2, scatterpoints=1) + inst, sat = sensor.split("_") + ax1.set_title( + "%s %s Channel %d" % (inst.upper(), sat.upper(), channel), fontsize=18 + ) + + ax2 = plt.subplot(2, 2, 2) + ax2.grid(True, which="both", color="lightgrey", linestyle="--") + ax2.scatter( + QCDataSummaryDF["Mean cloud Amount"], + QCDataSummaryDF["Count"], + marker="o", + color="dodgerblue", + label="QC", + s=4, + ) + ax2.scatter( + AllDataSummaryDF["Mean cloud Amount"], + AllDataSummaryDF["Count"], + marker="o", + color="dimgrey", + label="All", + s=4, + ) + ax2.set_yscale("log") + ax2.set_xlabel("Mean cloud Amount", fontsize=14) + ax2.set_ylabel("Number of observations", fontsize=14) + ax2.legend(loc="upper right", markerscale=2, scatterpoints=1) + + # Plot PDF of omf + ax3 = fig.add_subplot(2, 2, 3) + # Compute the PDF using kernel density estimation + kde = gaussian_kde(All_o_f) + x = np.linspace(All_o_f.min(), All_o_f.max(), 100) + pdf = kde.evaluate(x) + ax3.plot(x, pdf, label="Un-normalized", color="blue") + # plot the pDF of normalized FG + nomalizedFG = All_o_f / AllErrors + kde_norm = gaussian_kde(nomalizedFG) + x_norm = np.linspace(nomalizedFG.min(), nomalizedFG.max(), 100) + pdf_norm = kde_norm.evaluate(x_norm) + ax3.plot(x_norm, pdf_norm, label="normalized", color="red") + ax3.legend(loc="upper right", markerscale=2, scatterpoints=1) + ax3.set_xlabel("FG departure", fontsize=14) + ax3.set_ylabel("PDF", fontsize=14) + ax3.set_yscale("log") + ax3.set_xlim(-10, 10) + + ax4 = fig.add_subplot(2, 2, 4) + ax4.hist(AllErrors, bins=100, density=True, alpha=0.5, label="Un-normalized") + ax4.set_xlabel("Errors", fontsize=14) + ax4.legend(loc="upper right", markerscale=2, scatterpoints=1) + + plt.tight_layout() + plt.savefig(output_path + "%s_ch%d.png" % (sensor, channel)) + plt.close() + + +def get_all_errors(x, y, All_clw): + """ + Get all errors based on provided parameters. + + Parameters: + x (list): List of x values. + y (list): List of y values. + All_clw (numpy.ndarray): Array containing all cloud values. + + Returns: + numpy.ndarray: Array containing all errors. + """ + Clw_clr, clw_cld = x[1], x[2] + ErrClr, ErrCld = y[1], y[2] + AllErrors = np.empty(len(All_clw)) + AllErrors = np.where(All_clw >= clw_cld, ErrCld, AllErrors) + AllErrors = np.where(All_clw <= Clw_clr, ErrClr, AllErrors) + + # now assign the values in the middle + slope = (ErrCld - ErrClr) / (clw_cld - Clw_clr) + MiddleFormula = (All_clw - Clw_clr) * slope + ErrClr + AllErrors = np.where( + ((All_clw > Clw_clr) & (All_clw < clw_cld)), MiddleFormula, AllErrors + ) + return AllErrors + + +def compute_obs_error_parameter( + config_path, + output_path, + global_satinPath, + cloudy_path, + sensor, + Channels, + bin_size, + qc_flag, +): + """ + Compute observation error parameters based on provided data. + + Returns: + DataFrame: DataFrame containing the error parameters of each channel. + Saved as a CSV file. + """ + + print("+=================================================================+") + print( + "| compute_obs_error_parameter |" + ) + print("+-----------------------------------------------------------------+") + print(" ---(n) path to config nc files: " + str(config_path)) + print(" ---(o) path to output files: " + str(output_path)) + print(" ---(g) path to global_satinPath.txt: " + str(global_satinPath)) + print(" ---(l) path to cloudy_path.txt: " + str(cloudy_path)) + print(" ---(s) sensor name: " + str(sensor)) + print(" ---(c) channels: " + str(Channels)) + print(" ---(b) Bin Size: " + str(bin_size)) + print(" ---(q) QC Flag: " + str(qc_flag)) + # convert list of channels into a list of integers + Channels = list(map(int, Channels.split(","))) + AllErrorParam = [] + nc4_files = glob.glob(config_path + "diag_%s_ges*.nc4" % sensor) + print(nc4_files) + for i in Channels: + print("working on channel %d" % i) + QCDataSummaryDF, AllDataSummaryDF, All_o_f, All_clw = calculate_statistics( + nc4_files, i, bin_size, qc_flag + ) + x, y, errorParam = error_estimation(QCDataSummaryDF) + AllErrors = get_all_errors(x, y, All_clw) + x1, y1 = read_previous_parameters(sensor, i, cloudy_path, global_satinPath) + errorParam.append(i) + AllErrorParam.append(errorParam) + plots( + AllDataSummaryDF, + QCDataSummaryDF, + output_path, + sensor, + i, + x, + y, + x1, + y1, + All_o_f, + AllErrors, + ) + AllErrorParamDF = pd.DataFrame( + AllErrorParam, + columns=["Error_cld", "Error_clr", "clw_clr", "clw_cld", "channel"], + ) + AllErrorParamDF.to_csv( + output_path + "%s_obsError_parameters.csv" % sensor, index=False + ) + + +if __name__ == "__main__": + # Argument parsing and main function call + # Parser setup and argument parsing here + parser = argparse.ArgumentParser(description="obs error parameters") + + # Add arguments + parser.add_argument( + "-n", + dest="config_path", + help=r"REQUIRED: path to config nc files", + required=True, + metavar="DIR", + type=str, + ) + parser.add_argument( + "-o", + dest="output_path", + help=r"optional: path to output files", + required=True, + metavar="DIR", + type=str, + ) + parser.add_argument( + "-g", + dest="global_satinPath", + help=r"REQUIRED: path to global_satinPath.txt", + required=True, + metavar="DIR", + type=str, + ) + parser.add_argument( + "-l", + dest="cloudy_path", + help=r"REQUIRED: path to cloudy_path.txt", + required=True, + metavar="DIR", + type=str, + ) + parser.add_argument( + "-s", + dest="sensor", + help=r"REQUIRED: sensor name", + required=True, + metavar="string", + type=str, + ) + parser.add_argument( + "-c", + dest="Channels", + help=r'REQUIRED:list of channels.enclose the list in quotation,' + r' each separated by a comma like "1,2,3,5"', + required=True, + metavar="string", + type=str, + ) + parser.add_argument( + "-b", + dest="bin_size", + help=r"optional: size of bin for plotting", + required=False, + default=0.05, + metavar="float", + type=float, + ) + parser.add_argument( + "-q", + dest="qc_flag", + help=r"optional: qc flag for filtering", + required=False, + default=0, + metavar="integer", + type=int, + ) + + args = vars(parser.parse_args()) + + config_path = args["config_path"] + output_path = args["output_path"] + global_satinPath = args["global_satinPath"] + cloudy_path = args["cloudy_path"] + sensor = args["sensor"] + Channels = args["Channels"] + bin_size = args["bin_size"] + qc_flag = args["qc_flag"] + + compute_obs_error_parameter( + config_path, + output_path, + global_satinPath, + cloudy_path, + sensor, + Channels, + bin_size, + qc_flag, + ) diff --git a/ush/obsErrorAssignmentTool/README.md b/ush/obsErrorAssignmentTool/README.md new file mode 100644 index 0000000..e9b5222 --- /dev/null +++ b/ush/obsErrorAssignmentTool/README.md @@ -0,0 +1,34 @@ +### February 2024 +### Azadeh Gholoubi +# Python Tool for Observation Error Estimation + +## Overview +This tool automates the estimation of observation error parameters. It consists of a shell script, `run_error_model_estimate.sh`, which invokes the `ObsErrorAssignment.py` Python script to perform the following tasks: + +1. Compute mean cloud amount and first guess standard deviation. +2. Generate four plots: + - Standard deviation of FG departures in each channel as a function of mean cloud amount: (clw_guess + clw_obs)/2 + - Number of observations in each defined bin of mean cloud amount + - Histogram of un-normalised and also normalised FG departures in each channel + - Histogram of Errors +3. Estimate error parameters (`error_cld`, `error_clr`, `clw_clr`, and `clw_cld`) and create CSV files for each channel. + +## Usage +Before running the script, the user needs to specify certain parameters in `run_error_model_estimate.sh`: + +- `config_path`: Directory for input config .nc files +- `output_path`: Path to output files +- `sensor`: Sensor name +- `Channels`: Channel numbers (enclosed in quotes, separated by commas, e.g., "1,2,3,5") +- `bin_size`: Size of bin for plotting (default=0.05) +- `bindir`: Output folder name +- `qc_flag`: QC flag for filtering (default=0) +- `PyGSI`: Path to the PyGSI branch on Hera or Orion to load the proper environment + +To view all the required inputs for this tool, use the following command: + +```bash +python ObsErrorAssignment.py -h + + + diff --git a/ush/obsErrorAssignmentTool/config_files/diag_amsua_n19_ges.2023013018.nc4 b/ush/obsErrorAssignmentTool/config_files/diag_amsua_n19_ges.2023013018.nc4 new file mode 100644 index 0000000..cf257ff Binary files /dev/null and b/ush/obsErrorAssignmentTool/config_files/diag_amsua_n19_ges.2023013018.nc4 differ diff --git a/ush/obsErrorAssignmentTool/output/bin005/amsua_n19_obsError_parameters.csv b/ush/obsErrorAssignmentTool/output/bin005/amsua_n19_obsError_parameters.csv new file mode 100644 index 0000000..8088129 --- /dev/null +++ b/ush/obsErrorAssignmentTool/output/bin005/amsua_n19_obsError_parameters.csv @@ -0,0 +1,3 @@ +Error_cld,Error_clr,clw_clr,clw_cld,channel +20.425055980682373,1.938862722231935,0.0,0.575,1 +18.992266680819345,1.7298280391364846,0.0,0.40073188009052935,2 diff --git a/ush/obsErrorAssignmentTool/run_error_model_estimate.sh b/ush/obsErrorAssignmentTool/run_error_model_estimate.sh new file mode 100755 index 0000000..9dd30d9 --- /dev/null +++ b/ush/obsErrorAssignmentTool/run_error_model_estimate.sh @@ -0,0 +1,49 @@ +#!/bin/sh -xvf +# run_error_model_estimate.sh +# This script is intended to simplify/automate obs error parameters estimations. +# This script will call the python script +# - Compute error parameters and produce a csv file +# - Plot mean cloud amount vs FG departure std.dev along with original error parameters + +#--------------- User modified options below ----------------- + +# specify the path to the input diag files + +config_path=./config_files/ + +# specify the global_satinfo.txt and cloudy_radiance_info.txt path in GSI-fix directory +global_satinPath=../../fix/global_satinfo.txt # Path to global_satinfo.txt +cloudy_path=../../fix/cloudy_radiance_info.txt # Path to cloudy_radiance_info.txt + +#read arguments : specify sensor name, list of channels, bin size, output file name, and qc flag for filtering +sensor=amsua_n19 +Channels="1,2" +bin_size=0.005 +bindir=bin005 +qc_flag=0 + +# specify the path to saving output plots and csv file +output=./output/$bindir/ + +mkdir -p $output + +machine=${machine:-hera} + +if [ $machine = orion ]; then + PyGSI=${PyGSI:-/Path/TO/PyGSI/} # Change this to your own branch +elif [ $machine = hera ]; then + PyGSI=${PyGSI:-/Path/TO/PyGSI/} # Change this to your own branch +else + echo "Machine " $machine "not found" + exit 1 +fi + + +#-------------- Do not modify below this line ---------------- +# Load Modules +module use $PyGSI/modulefiles +module load PyGSI/$machine + +# call the Python script + +python ObsErrorAssignment.py -n $config_path -o $output -g $global_satinPath -l $cloudy_path -s $sensor -c $Channels -b $bin_size -q $qc_flag diff --git a/ush/ozinfo2yaml.py b/ush/ozinfo2yaml.py index cd8574c..2be1f95 100755 --- a/ush/ozinfo2yaml.py +++ b/ush/ozinfo2yaml.py @@ -71,13 +71,14 @@ def main(config): yamlout['diagnostic']['ozone'] = [] # loop through obtypes - for iuse, ichan in zip(np.array(obuse)[sensorindx], - np.array(layer)[sensorindx]): + for iuse, ilayer in zip(np.array(obuse)[sensorindx], + np.array(layer)[sensorindx]): if iuse != 1 and not config['monitor']: continue # only process assimilated obs for now dictloop = { 'layer': [int(ilayer)], + 'analysis use': [True], 'bias correction': [True] } @@ -116,6 +117,7 @@ def main(config): default='omf', required=False) parser.add_argument('-m', '--monitor', action='store_true', help='include monitored obs?', required=False) + args = parser.parse_args() config = vars(args) diff --git a/ush/satinfo2yaml.py b/ush/satinfo2yaml.py index ce6d0bf..77dde16 100755 --- a/ush/satinfo2yaml.py +++ b/ush/satinfo2yaml.py @@ -113,6 +113,7 @@ def main(config): default='omf', required=False) parser.add_argument('-m', '--monitor', action='store_true', help='include monitored obs?', required=False) + args = parser.parse_args() config = vars(args) diff --git a/yamls/diag_abi_g16_ges.yaml b/yamls/diag_abi_g16_ges.yaml new file mode 100644 index 0000000..6beba01 --- /dev/null +++ b/yamls/diag_abi_g16_ges.yaml @@ -0,0 +1,20 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_abi_g16_ges.2020092200.nc4 + radiance: + - analysis use: + - true + bias correction: + - true + channel: + - 8 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 10 + qc flag: + - 0 diff --git a/yamls/diag_abi_g17_ges.yaml b/yamls/diag_abi_g17_ges.yaml new file mode 100644 index 0000000..82339ee --- /dev/null +++ b/yamls/diag_abi_g17_ges.yaml @@ -0,0 +1,4 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_abi_g17_ges.2020092200.nc4 + radiance: [] diff --git a/yamls/diag_ahi_himawari8_ges.yaml b/yamls/diag_ahi_himawari8_ges.yaml new file mode 100644 index 0000000..93a535f --- /dev/null +++ b/yamls/diag_ahi_himawari8_ges.yaml @@ -0,0 +1,28 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_ahi_himawari8_ges.2020092200.nc4 + radiance: + - analysis use: + - true + bias correction: + - true + channel: + - 8 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 9 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 10 + qc flag: + - 0 diff --git a/yamls/diag_airs_aqua_ges.yaml b/yamls/diag_airs_aqua_ges.yaml new file mode 100644 index 0000000..333d124 --- /dev/null +++ b/yamls/diag_airs_aqua_ges.yaml @@ -0,0 +1,940 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_airs_aqua_ges.2020092200.nc4 + radiance: + - analysis use: + - true + bias correction: + - true + channel: + - 7 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 15 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 20 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 21 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 22 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 27 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 28 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 40 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 52 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 69 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 72 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 92 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 93 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 98 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 99 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 104 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 105 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 110 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 111 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 116 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 117 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 123 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 128 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 129 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 138 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 139 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 144 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 145 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 150 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 151 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 156 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 157 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 162 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 168 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 169 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 172 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 173 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 174 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 175 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 179 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 180 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 185 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 186 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 190 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 192 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 198 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 201 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 204 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 207 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 210 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 215 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 216 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 226 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 227 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 232 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 252 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 253 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 256 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 257 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 261 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 262 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 267 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 272 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 295 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 299 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 305 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 310 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 325 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 333 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 338 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 355 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 362 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 375 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 475 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 497 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 528 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 587 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 672 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 787 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 791 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 870 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 914 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 950 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1301 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1304 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1329 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1371 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1382 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1415 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1424 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1449 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1455 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1477 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1500 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1519 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1565 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1574 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1627 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1669 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1694 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1766 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1800 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1826 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1865 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1866 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1868 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1869 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1872 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1873 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1876 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1881 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1882 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1911 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1917 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1918 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1924 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1928 + qc flag: + - 0 diff --git a/yamls/diag_amsua_aqua_ges.yaml b/yamls/diag_amsua_aqua_ges.yaml new file mode 100644 index 0000000..1b8ad45 --- /dev/null +++ b/yamls/diag_amsua_aqua_ges.yaml @@ -0,0 +1,52 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_amsua_aqua_ges.2020092200.nc4 + radiance: + - analysis use: + - true + bias correction: + - true + channel: + - 8 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 9 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 10 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 11 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 12 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 13 + qc flag: + - 0 diff --git a/yamls/diag_amsua_metop-a_ges.yaml b/yamls/diag_amsua_metop-a_ges.yaml new file mode 100644 index 0000000..b4bbf48 --- /dev/null +++ b/yamls/diag_amsua_metop-a_ges.yaml @@ -0,0 +1,103 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_amsua_metop-a_ges.2020092200.nc4 + plot types: + - histogram + - spatial + radiance: + - analysis use: + - true + bias correction: + - true + channel: + - 1 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 3 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 4 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 5 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 6 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 9 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 10 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 11 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 12 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 13 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 15 + qc flag: + - 0 diff --git a/yamls/diag_amsua_metop-b_ges.yaml b/yamls/diag_amsua_metop-b_ges.yaml new file mode 100644 index 0000000..20a9f71 --- /dev/null +++ b/yamls/diag_amsua_metop-b_ges.yaml @@ -0,0 +1,52 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_amsua_metop-b_ges.2020092200.nc4 + radiance: + - analysis use: + - true + bias correction: + - true + channel: + - 8 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 9 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 10 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 11 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 12 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 13 + qc flag: + - 0 diff --git a/yamls/diag_amsua_metop-c_ges.yaml b/yamls/diag_amsua_metop-c_ges.yaml new file mode 100644 index 0000000..406cd15 --- /dev/null +++ b/yamls/diag_amsua_metop-c_ges.yaml @@ -0,0 +1,116 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_amsua_metop-c_ges.2020092200.nc4 + radiance: + - analysis use: + - true + bias correction: + - true + channel: + - 1 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 3 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 4 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 5 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 6 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 7 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 8 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 9 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 10 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 11 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 12 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 13 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 15 + qc flag: + - 0 diff --git a/yamls/diag_amsua_n15_ges.yaml b/yamls/diag_amsua_n15_ges.yaml new file mode 100644 index 0000000..c463e0e --- /dev/null +++ b/yamls/diag_amsua_n15_ges.yaml @@ -0,0 +1,100 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_amsua_n15_ges.2020092200.nc4 + radiance: + - analysis use: + - true + bias correction: + - true + channel: + - 1 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 3 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 4 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 5 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 7 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 8 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 9 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 10 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 12 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 13 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 15 + qc flag: + - 0 diff --git a/yamls/diag_amsua_n18_ges.yaml b/yamls/diag_amsua_n18_ges.yaml new file mode 100644 index 0000000..1eb390d --- /dev/null +++ b/yamls/diag_amsua_n18_ges.yaml @@ -0,0 +1,92 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_amsua_n18_ges.2020092200.nc4 + radiance: + - analysis use: + - true + bias correction: + - true + channel: + - 1 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 3 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 4 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 6 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 7 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 10 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 11 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 12 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 13 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 15 + qc flag: + - 0 diff --git a/yamls/diag_amsua_n19_ges.yaml b/yamls/diag_amsua_n19_ges.yaml new file mode 100644 index 0000000..b69354c --- /dev/null +++ b/yamls/diag_amsua_n19_ges.yaml @@ -0,0 +1,100 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_amsua_n19_ges.2020092200.nc4 + radiance: + - analysis use: + - true + bias correction: + - true + channel: + - 1 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 3 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 4 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 5 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 6 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 9 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 10 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 11 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 12 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 13 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 15 + qc flag: + - 0 diff --git a/yamls/diag_atms_n20_ges.yaml b/yamls/diag_atms_n20_ges.yaml new file mode 100644 index 0000000..a82ed99 --- /dev/null +++ b/yamls/diag_atms_n20_ges.yaml @@ -0,0 +1,172 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_atms_n20_ges.2020092200.nc4 + radiance: + - analysis use: + - true + bias correction: + - true + channel: + - 1 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 3 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 4 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 5 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 6 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 7 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 8 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 9 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 10 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 11 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 12 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 13 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 14 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 16 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 17 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 18 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 19 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 20 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 21 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 22 + qc flag: + - 0 diff --git a/yamls/diag_atms_npp_ges.yaml b/yamls/diag_atms_npp_ges.yaml new file mode 100644 index 0000000..4a1fadc --- /dev/null +++ b/yamls/diag_atms_npp_ges.yaml @@ -0,0 +1,172 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_atms_npp_ges.2020092200.nc4 + radiance: + - analysis use: + - true + bias correction: + - true + channel: + - 1 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 3 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 4 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 5 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 6 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 7 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 8 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 9 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 10 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 11 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 12 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 13 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 14 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 16 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 17 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 18 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 19 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 20 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 21 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 22 + qc flag: + - 0 diff --git a/yamls/diag_conv_gps_ges.yaml b/yamls/diag_conv_gps_ges.yaml new file mode 100644 index 0000000..7be0c70 --- /dev/null +++ b/yamls/diag_conv_gps_ges.yaml @@ -0,0 +1,172 @@ +diagnostic: + conventional: + - analysis use: + - true + bias correction: + - true + observation id: + - 4 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 722 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 723 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 740 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 741 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 742 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 743 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 744 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 745 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 820 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 42 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 43 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 786 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 3 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 825 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 750 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 751 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 752 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 753 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 754 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 755 + observation subtype: + - 0 + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_gps_ges.2020092000.nc4 diff --git a/yamls/diag_conv_ps_ges.yaml b/yamls/diag_conv_ps_ges.yaml new file mode 100644 index 0000000..08db3a0 --- /dev/null +++ b/yamls/diag_conv_ps_ges.yaml @@ -0,0 +1,52 @@ +diagnostic: + conventional: + - analysis use: + - true + bias correction: + - true + observation id: + - 120 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 180 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 180 + observation subtype: + - 1 + - analysis use: + - true + bias correction: + - true + observation id: + - 181 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 182 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 187 + observation subtype: + - 0 + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_ps_ges.2020092000.nc4 diff --git a/yamls/diag_conv_pw_ges.yaml b/yamls/diag_conv_pw_ges.yaml new file mode 100644 index 0000000..3138716 --- /dev/null +++ b/yamls/diag_conv_pw_ges.yaml @@ -0,0 +1,4 @@ +diagnostic: + conventional: [] + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_pw_ges.2020092000.nc4 diff --git a/yamls/diag_conv_q_ges.yaml b/yamls/diag_conv_q_ges.yaml new file mode 100644 index 0000000..d553dc3 --- /dev/null +++ b/yamls/diag_conv_q_ges.yaml @@ -0,0 +1,52 @@ +diagnostic: + conventional: + - analysis use: + - true + bias correction: + - true + observation id: + - 120 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 132 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 133 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 180 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 180 + observation subtype: + - 1 + - analysis use: + - true + bias correction: + - true + observation id: + - 182 + observation subtype: + - 0 + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_q_ges.2020092000.nc4 diff --git a/yamls/diag_conv_sst_ges.yaml b/yamls/diag_conv_sst_ges.yaml new file mode 100644 index 0000000..2e3a557 --- /dev/null +++ b/yamls/diag_conv_sst_ges.yaml @@ -0,0 +1,156 @@ +diagnostic: + conventional: + - analysis use: + - true + bias correction: + - true + observation id: + - 181 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 182 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 183 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 184 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 185 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 186 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 187 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 188 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 189 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 190 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 191 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 192 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 193 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 194 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 195 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 196 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 197 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 198 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 199 + observation subtype: + - 0 + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_sst_ges.2020092000.nc4 diff --git a/yamls/diag_conv_t_ges.yaml b/yamls/diag_conv_t_ges.yaml new file mode 100644 index 0000000..f6a5b72 --- /dev/null +++ b/yamls/diag_conv_t_ges.yaml @@ -0,0 +1,87 @@ +diagnostic: + conventional: + - analysis use: + - true + bias correction: + - true + observation id: + - 120 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 130 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 131 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 132 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 133 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 134 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 135 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 180 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 180 + observation subtype: + - 1 + - analysis use: + - true + bias correction: + - true + observation id: + - 182 + observation subtype: + - 0 + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_t_ges.2020092000.nc4 + plot types: + - histogram + - spatial diff --git a/yamls/diag_conv_tcp_ges.yaml b/yamls/diag_conv_tcp_ges.yaml new file mode 100644 index 0000000..0c10f19 --- /dev/null +++ b/yamls/diag_conv_tcp_ges.yaml @@ -0,0 +1,12 @@ +diagnostic: + conventional: + - analysis use: + - true + bias correction: + - true + observation id: + - 112 + observation subtype: + - 0 + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_tcp_ges.2020092000.nc4 diff --git a/yamls/diag_conv_uv_ges.yaml b/yamls/diag_conv_uv_ges.yaml new file mode 100644 index 0000000..dd797be --- /dev/null +++ b/yamls/diag_conv_uv_ges.yaml @@ -0,0 +1,447 @@ +diagnostic: + conventional: + - analysis use: + - true + bias correction: + - true + observation id: + - 220 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 221 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 223 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 224 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 229 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 230 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 231 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 232 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 233 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 234 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 235 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 242 + observation subtype: + - 171 + - analysis use: + - true + bias correction: + - true + observation id: + - 242 + observation subtype: + - 172 + - analysis use: + - true + bias correction: + - true + observation id: + - 242 + observation subtype: + - 173 + - analysis use: + - true + bias correction: + - true + observation id: + - 242 + observation subtype: + - 174 + - analysis use: + - true + bias correction: + - true + observation id: + - 243 + observation subtype: + - 55 + - analysis use: + - true + bias correction: + - true + observation id: + - 243 + observation subtype: + - 70 + - analysis use: + - true + bias correction: + - true + observation id: + - 244 + observation subtype: + - 3 + - analysis use: + - true + bias correction: + - true + observation id: + - 244 + observation subtype: + - 4 + - analysis use: + - true + bias correction: + - true + observation id: + - 244 + observation subtype: + - 206 + - analysis use: + - true + bias correction: + - true + observation id: + - 244 + observation subtype: + - 207 + - analysis use: + - true + bias correction: + - true + observation id: + - 244 + observation subtype: + - 209 + - analysis use: + - true + bias correction: + - true + observation id: + - 244 + observation subtype: + - 223 + - analysis use: + - true + bias correction: + - true + observation id: + - 245 + observation subtype: + - 270 + - analysis use: + - true + bias correction: + - true + observation id: + - 245 + observation subtype: + - 271 + - analysis use: + - true + bias correction: + - true + observation id: + - 246 + observation subtype: + - 270 + - analysis use: + - true + bias correction: + - true + observation id: + - 246 + observation subtype: + - 271 + - analysis use: + - true + bias correction: + - true + observation id: + - 247 + observation subtype: + - 270 + - analysis use: + - true + bias correction: + - true + observation id: + - 247 + observation subtype: + - 271 + - analysis use: + - true + bias correction: + - true + observation id: + - 250 + observation subtype: + - 171 + - analysis use: + - true + bias correction: + - true + observation id: + - 250 + observation subtype: + - 172 + - analysis use: + - true + bias correction: + - true + observation id: + - 250 + observation subtype: + - 173 + - analysis use: + - true + bias correction: + - true + observation id: + - 250 + observation subtype: + - 174 + - analysis use: + - true + bias correction: + - true + observation id: + - 252 + observation subtype: + - 171 + - analysis use: + - true + bias correction: + - true + observation id: + - 252 + observation subtype: + - 172 + - analysis use: + - true + bias correction: + - true + observation id: + - 252 + observation subtype: + - 173 + - analysis use: + - true + bias correction: + - true + observation id: + - 252 + observation subtype: + - 174 + - analysis use: + - true + bias correction: + - true + observation id: + - 253 + observation subtype: + - 55 + - analysis use: + - true + bias correction: + - true + observation id: + - 253 + observation subtype: + - 70 + - analysis use: + - true + bias correction: + - true + observation id: + - 254 + observation subtype: + - 55 + - analysis use: + - true + bias correction: + - true + observation id: + - 254 + observation subtype: + - 70 + - analysis use: + - true + bias correction: + - true + observation id: + - 257 + observation subtype: + - 783 + - analysis use: + - true + bias correction: + - true + observation id: + - 257 + observation subtype: + - 784 + - analysis use: + - true + bias correction: + - true + observation id: + - 258 + observation subtype: + - 783 + - analysis use: + - true + bias correction: + - true + observation id: + - 258 + observation subtype: + - 784 + - analysis use: + - true + bias correction: + - true + observation id: + - 259 + observation subtype: + - 783 + - analysis use: + - true + bias correction: + - true + observation id: + - 259 + observation subtype: + - 784 + - analysis use: + - true + bias correction: + - true + observation id: + - 260 + observation subtype: + - 224 + - analysis use: + - true + bias correction: + - true + observation id: + - 260 + observation subtype: + - 225 + - analysis use: + - true + bias correction: + - true + observation id: + - 280 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 280 + observation subtype: + - 1 + - analysis use: + - true + bias correction: + - true + observation id: + - 282 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 289 + observation subtype: + - 0 + - analysis use: + - true + bias correction: + - true + observation id: + - 290 + observation subtype: + - 4 + - analysis use: + - true + bias correction: + - true + observation id: + - 290 + observation subtype: + - 3 + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200920/00/atmos/diag_conv_uv_ges.2020092000.nc4 + plot types: + - histogram + - spatial diff --git a/yamls/diag_cris-fsr_n20_ges.yaml b/yamls/diag_cris-fsr_n20_ges.yaml new file mode 100644 index 0000000..0c41d87 --- /dev/null +++ b/yamls/diag_cris-fsr_n20_ges.yaml @@ -0,0 +1,804 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_cris-fsr_n20_ges.2020092200.nc4 + radiance: + - analysis use: + - true + bias correction: + - true + channel: + - 24 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 26 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 28 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 32 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 37 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 39 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 42 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 44 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 47 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 49 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 51 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 53 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 55 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 57 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 59 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 61 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 63 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 65 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 67 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 69 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 71 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 73 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 75 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 77 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 79 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 81 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 83 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 85 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 87 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 89 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 91 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 93 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 95 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 97 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 99 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 103 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 105 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 107 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 109 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 111 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 113 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 115 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 117 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 119 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 121 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 123 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 125 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 127 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 129 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 131 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 133 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 135 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 137 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 139 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 141 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 143 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 145 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 147 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 149 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 151 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 153 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 155 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 157 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 159 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 163 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 167 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 171 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 175 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 179 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 183 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 187 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 190 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 194 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 197 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 200 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 211 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 224 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 275 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 279 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 291 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 311 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 332 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 342 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 389 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 410 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 427 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 464 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 482 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 501 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 529 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 710 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 713 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 742 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 882 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 890 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 937 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 995 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1008 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1022 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1058 + qc flag: + - 0 diff --git a/yamls/diag_cris-fsr_npp_ges.yaml b/yamls/diag_cris-fsr_npp_ges.yaml new file mode 100644 index 0000000..2a56ad9 --- /dev/null +++ b/yamls/diag_cris-fsr_npp_ges.yaml @@ -0,0 +1,804 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_cris-fsr_npp_ges.2020092200.nc4 + radiance: + - analysis use: + - true + bias correction: + - true + channel: + - 24 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 26 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 28 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 32 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 37 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 39 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 42 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 44 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 47 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 49 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 51 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 53 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 55 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 57 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 59 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 61 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 63 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 65 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 67 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 69 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 71 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 73 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 75 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 77 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 79 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 81 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 83 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 85 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 87 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 89 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 91 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 93 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 95 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 97 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 99 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 103 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 105 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 107 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 109 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 111 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 113 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 115 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 117 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 119 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 121 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 123 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 125 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 127 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 129 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 131 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 133 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 135 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 137 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 139 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 141 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 143 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 145 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 147 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 149 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 151 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 153 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 155 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 157 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 159 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 163 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 167 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 171 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 175 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 179 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 183 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 187 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 190 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 194 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 197 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 200 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 211 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 224 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 275 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 279 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 291 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 311 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 332 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 342 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 389 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 410 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 427 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 464 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 482 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 501 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 529 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 710 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 713 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 742 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 882 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 890 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 937 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 995 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1008 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1022 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1058 + qc flag: + - 0 diff --git a/yamls/diag_hirs4_metop-a_ges.yaml b/yamls/diag_hirs4_metop-a_ges.yaml new file mode 100644 index 0000000..da7f9c8 --- /dev/null +++ b/yamls/diag_hirs4_metop-a_ges.yaml @@ -0,0 +1,4 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_hirs4_metop-a_ges.2020092200.nc4 + radiance: [] diff --git a/yamls/diag_hirs4_n19_ges.yaml b/yamls/diag_hirs4_n19_ges.yaml new file mode 100644 index 0000000..87780da --- /dev/null +++ b/yamls/diag_hirs4_n19_ges.yaml @@ -0,0 +1,4 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_hirs4_n19_ges.2020092200.nc4 + radiance: [] diff --git a/yamls/diag_iasi_metop-a_ges.yaml b/yamls/diag_iasi_metop-a_ges.yaml new file mode 100644 index 0000000..5011763 --- /dev/null +++ b/yamls/diag_iasi_metop-a_ges.yaml @@ -0,0 +1,1396 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_iasi_metop-a_ges.2020092200.nc4 + radiance: + - analysis use: + - true + bias correction: + - true + channel: + - 16 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 38 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 49 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 51 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 55 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 57 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 59 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 61 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 63 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 66 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 70 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 72 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 74 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 79 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 81 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 83 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 85 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 87 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 104 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 106 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 109 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 111 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 113 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 116 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 119 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 122 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 125 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 128 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 131 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 133 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 135 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 138 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 141 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 144 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 146 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 148 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 151 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 154 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 157 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 159 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 161 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 163 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 167 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 170 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 173 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 176 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 180 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 185 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 187 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 193 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 199 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 205 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 207 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 210 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 212 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 214 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 217 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 219 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 222 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 224 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 226 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 230 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 232 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 236 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 239 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 243 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 246 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 249 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 252 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 254 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 260 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 262 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 265 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 267 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 275 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 282 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 294 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 296 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 299 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 303 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 306 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 323 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 327 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 329 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 335 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 345 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 347 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 350 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 354 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 356 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 360 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 366 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 371 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 373 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 375 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 377 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 379 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 381 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 383 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 386 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 389 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 398 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 401 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 404 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 407 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 410 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 414 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 416 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 426 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 428 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 432 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 434 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 439 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 445 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 457 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 515 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 546 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 552 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 559 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 566 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 571 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 573 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 646 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 662 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 668 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 756 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 867 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 906 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 921 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1027 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1046 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1121 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1133 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1191 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1194 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1271 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1479 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1509 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1513 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1521 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1536 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1574 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1579 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1585 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1587 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1626 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1639 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1643 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1652 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1658 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1671 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1786 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1805 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1884 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1991 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2019 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2094 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2119 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2213 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2239 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2271 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2321 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2398 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2701 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2889 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2958 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2993 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 3002 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 3049 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 3105 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 3110 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 5381 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 5399 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 5480 + qc flag: + - 0 diff --git a/yamls/diag_iasi_metop-b_ges.yaml b/yamls/diag_iasi_metop-b_ges.yaml new file mode 100644 index 0000000..839fa20 --- /dev/null +++ b/yamls/diag_iasi_metop-b_ges.yaml @@ -0,0 +1,1396 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_iasi_metop-b_ges.2020092200.nc4 + radiance: + - analysis use: + - true + bias correction: + - true + channel: + - 16 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 38 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 49 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 51 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 55 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 57 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 59 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 61 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 63 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 66 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 70 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 72 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 74 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 79 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 81 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 83 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 85 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 87 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 104 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 106 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 109 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 111 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 113 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 116 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 119 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 122 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 125 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 128 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 131 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 133 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 135 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 138 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 141 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 144 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 146 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 148 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 151 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 154 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 157 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 159 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 161 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 163 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 167 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 170 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 173 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 176 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 180 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 185 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 187 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 193 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 199 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 205 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 207 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 210 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 212 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 214 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 217 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 219 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 222 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 224 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 226 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 230 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 232 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 236 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 239 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 243 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 246 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 249 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 252 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 254 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 260 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 262 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 265 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 267 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 275 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 282 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 294 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 296 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 299 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 303 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 306 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 323 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 327 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 329 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 335 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 345 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 347 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 350 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 354 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 356 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 360 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 366 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 371 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 373 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 375 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 377 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 379 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 381 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 383 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 386 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 389 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 398 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 401 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 404 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 407 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 410 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 414 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 416 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 426 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 428 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 432 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 434 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 439 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 445 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 457 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 515 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 546 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 552 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 559 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 566 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 571 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 573 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 646 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 662 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 668 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 756 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 867 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 906 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 921 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1027 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1046 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1121 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1133 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1191 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1194 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1271 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1479 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1509 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1513 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1521 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1536 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1574 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1579 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1585 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1587 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1626 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1639 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1643 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1652 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1658 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1671 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1786 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1805 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1884 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 1991 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2019 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2094 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2119 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2213 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2239 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2271 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2321 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2398 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2701 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2889 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2958 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2993 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 3002 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 3049 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 3105 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 3110 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 5381 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 5399 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 5480 + qc flag: + - 0 diff --git a/yamls/diag_iasi_metop-c_ges.yaml b/yamls/diag_iasi_metop-c_ges.yaml new file mode 100644 index 0000000..daf6166 --- /dev/null +++ b/yamls/diag_iasi_metop-c_ges.yaml @@ -0,0 +1,4 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_iasi_metop-c_ges.2020092200.nc4 + radiance: [] diff --git a/yamls/diag_mhs_metop-a_ges.yaml b/yamls/diag_mhs_metop-a_ges.yaml new file mode 100644 index 0000000..2e7055d --- /dev/null +++ b/yamls/diag_mhs_metop-a_ges.yaml @@ -0,0 +1,4 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_mhs_metop-a_ges.2020092200.nc4 + radiance: [] diff --git a/yamls/diag_mhs_metop-b_ges.yaml b/yamls/diag_mhs_metop-b_ges.yaml new file mode 100644 index 0000000..2862bd1 --- /dev/null +++ b/yamls/diag_mhs_metop-b_ges.yaml @@ -0,0 +1,44 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_mhs_metop-b_ges.2020092200.nc4 + radiance: + - analysis use: + - true + bias correction: + - true + channel: + - 1 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 3 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 4 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 5 + qc flag: + - 0 diff --git a/yamls/diag_mhs_metop-c_ges.yaml b/yamls/diag_mhs_metop-c_ges.yaml new file mode 100644 index 0000000..4f4c994 --- /dev/null +++ b/yamls/diag_mhs_metop-c_ges.yaml @@ -0,0 +1,44 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_mhs_metop-c_ges.2020092200.nc4 + radiance: + - analysis use: + - true + bias correction: + - true + channel: + - 1 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 3 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 4 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 5 + qc flag: + - 0 diff --git a/yamls/diag_mhs_n19_ges.yaml b/yamls/diag_mhs_n19_ges.yaml new file mode 100644 index 0000000..91c8e9b --- /dev/null +++ b/yamls/diag_mhs_n19_ges.yaml @@ -0,0 +1,36 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_mhs_n19_ges.2020092200.nc4 + radiance: + - analysis use: + - true + bias correction: + - true + channel: + - 1 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 2 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 4 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 5 + qc flag: + - 0 diff --git a/yamls/diag_ompsnp_npp_ges.yaml b/yamls/diag_ompsnp_npp_ges.yaml new file mode 100644 index 0000000..429c65a --- /dev/null +++ b/yamls/diag_ompsnp_npp_ges.yaml @@ -0,0 +1,103 @@ +diagnostic: + data type: omf + plot types: + - histogram + - spatial + ozone: + - analysis use: + - true + bias correction: + - true + layer: + - 6 + - analysis use: + - true + bias correction: + - true + layer: + - 7 + - analysis use: + - true + bias correction: + - true + layer: + - 8 + - analysis use: + - true + bias correction: + - true + layer: + - 9 + - analysis use: + - true + bias correction: + - true + layer: + - 10 + - analysis use: + - true + bias correction: + - true + layer: + - 11 + - analysis use: + - true + bias correction: + - true + layer: + - 12 + - analysis use: + - true + bias correction: + - true + layer: + - 13 + - analysis use: + - true + bias correction: + - true + layer: + - 14 + - analysis use: + - true + bias correction: + - true + layer: + - 15 + - analysis use: + - true + bias correction: + - true + layer: + - 16 + - analysis use: + - true + bias correction: + - true + layer: + - 17 + - analysis use: + - true + bias correction: + - true + layer: + - 18 + - analysis use: + - true + bias correction: + - true + layer: + - 19 + - analysis use: + - true + bias correction: + - true + layer: + - 20 + - analysis use: + - true + bias correction: + - true + layer: + - 21 + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20230225/18/atmos/diag_ompsnp_npp_ges.2023022518.nc4 diff --git a/yamls/diag_ompstc8_npp_ges.yaml b/yamls/diag_ompstc8_npp_ges.yaml new file mode 100644 index 0000000..198ec94 --- /dev/null +++ b/yamls/diag_ompstc8_npp_ges.yaml @@ -0,0 +1,13 @@ +diagnostic: + data type: omf + plot types: + - histogram + - spatial + ozone: + - analysis use: + - true + bias correction: + - true + layer: + - 0 + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20230225/18/atmos/diag_ompstc8_npp_ges.2023022518.nc4 diff --git a/yamls/diag_seviri_m08_ges.yaml b/yamls/diag_seviri_m08_ges.yaml new file mode 100644 index 0000000..ca7212f --- /dev/null +++ b/yamls/diag_seviri_m08_ges.yaml @@ -0,0 +1,20 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_seviri_m08_ges.2020092200.nc4 + radiance: + - analysis use: + - true + bias correction: + - true + channel: + - 5 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 6 + qc flag: + - 0 diff --git a/yamls/diag_seviri_m11_ges.yaml b/yamls/diag_seviri_m11_ges.yaml new file mode 100644 index 0000000..3dc6f86 --- /dev/null +++ b/yamls/diag_seviri_m11_ges.yaml @@ -0,0 +1,20 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_seviri_m11_ges.2020092200.nc4 + radiance: + - analysis use: + - true + bias correction: + - true + channel: + - 5 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 6 + qc flag: + - 0 diff --git a/yamls/diag_ssmis_f17_ges.yaml b/yamls/diag_ssmis_f17_ges.yaml new file mode 100644 index 0000000..e0982b2 --- /dev/null +++ b/yamls/diag_ssmis_f17_ges.yaml @@ -0,0 +1,44 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_ssmis_f17_ges.2020092200.nc4 + radiance: + - analysis use: + - true + bias correction: + - true + channel: + - 1 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 5 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 6 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 7 + qc flag: + - 0 + - analysis use: + - true + bias correction: + - true + channel: + - 24 + qc flag: + - 0 diff --git a/yamls/diag_ssmis_f18_ges.yaml b/yamls/diag_ssmis_f18_ges.yaml new file mode 100644 index 0000000..4a6b073 --- /dev/null +++ b/yamls/diag_ssmis_f18_ges.yaml @@ -0,0 +1,4 @@ +diagnostic: + data type: omf + path: /scratch2/NCEPDEV/stmp1/Kevin.Dougherty/ncDiags/gdas.20200922/00/atmos/diag_ssmis_f18_ges.2020092200.nc4 + radiance: [] diff --git a/yamls/proftrace_yaml.yaml b/yamls/proftrace_yaml.yaml new file mode 100644 index 0000000..713343a --- /dev/null +++ b/yamls/proftrace_yaml.yaml @@ -0,0 +1,24 @@ +set1: + name: 'MDCRS-OMB-t' + var: 't' + it: 1 + use: 'asm' + typ: 133 + styp: None + statdir: /full/path/to/gsistat/files/ +set2: + name: 'MDCRS-OMA-t' + var: 't' + it: 3 + use: 'asm' + typ: 133 + styp: None + statdir: /full/path/to/gsistat/files/ +figures: + pname: 'gsistat_profs.png' + tname: 'gsistat_trace.png' + tskip: 8 +dates: + dt_beg: '2020090800' + dt_end: '2020093018' + hrs: 6