Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/obs error assignment tool #147

Merged
merged 19 commits into from
Feb 22, 2024

Conversation

azadeh-gh
Copy link
Contributor

@azadeh-gh azadeh-gh commented Feb 21, 2024

Pull Request Description

This PR addresses the following changes:

  1. Fix Pycodestyle Violation: Corrected a Pycodestyle violation in /scripts/plot_proftrace.py within the develop branch.

  2. New Feature Addition: Added a new Python tool, ObserrorAssignment.py, to ush/obsErrorAssignmentTool, facilitating the automated estimation of observation error parameters.

  3. fix/cloudy_radiance_info.txt: Needed to read clw_clr, and clw_cld

Changes Included:

  • obsErrorAssignmentTool Directory Structure:
    • ObserrorAssignment.py: Python tool for estimating observation error parameters.
    • run_error_model_estimate.sh: Shell script to invoke the Python script.
    • README.md: Provides an overview and usage instructions for the code.

Functionality of ObserrorAssignment.py:

  • Computes the mean cloud amount and first guess standard deviation.
  • Generates four plots:
    • Standard deviation of first guess 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-normalized and normalized first guess departures in each channel.
    • Histogram of errors.
  • Estimates error parameters (error_cld, error_clr, clw_clr, and clw_cld) and creates plots and CSV files for each channel.

Example of output plot and CSV file:

atms_n20_ch2

image

Copy link
Collaborator

@kevindougherty-noaa kevindougherty-noaa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, looks great! I just have a few minor comments, but should be ready to go after those changes.


# specify the path to the input diag files

config_path=/scratch1/NCEPDEV/stmp4/Azadeh.Gholoubi/GDAS-ops/PyGSI/ush/obsErrorAssignmentTool/config_files/
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would make this more generic. Maybe just: /PyGSI/ush/obsErrorAssignmentTool/config_files/

qc_flag=0

# specify the path to saving output plots and csv file
output=/scratch1/NCEPDEV/stmp4/Azadeh.Gholoubi/GDAS-ops/PyGSI/ush/obsErrorAssignmentTool/output/$bindir/
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment as above.

if [ $machine = orion ]; then
PyGSI=${PyGSI:-/Path/to/PyGSI/} # Change this to your own branch
elif [ $machine = hera ]; then
PyGSI=${PyGSI:-/scratch1/NCEPDEV/stmp4/Azadeh.Gholoubi/GDAS-ops/PyGSI/} # Change this to your own branch
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above. Rather than your specific path, just more generic.

@@ -0,0 +1,452 @@
import argparse
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, looks great. Do you mind adding a short docstring in each function so future users know what the function is doing?

@azadeh-gh
Copy link
Contributor Author

@kevindougherty-noaa , Thank you for your comments Kevin. I modified the paths, and added docstring in each function. Also changed some functions name to be more descriptive

Copy link
Collaborator

@kevindougherty-noaa kevindougherty-noaa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

@kevindougherty-noaa kevindougherty-noaa merged commit 3f8e6b9 into develop Feb 22, 2024
2 checks passed
@kevindougherty-noaa kevindougherty-noaa deleted the feature/obsErrorAssignmentTool branch February 22, 2024 18:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants