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

Add domain level to wave gridded COM path #3137

Open
wants to merge 186 commits into
base: develop
Choose a base branch
from

Conversation

AntonMFernando-NOAA
Copy link
Contributor

@AntonMFernando-NOAA AntonMFernando-NOAA commented Dec 3, 2024

Description

  • This pull request addresses the organization of wave gridded products within the file structure. Currently, all wave gridded products are placed in products/wave/gridded, without any further categorization. To align with the structure used by other component products (such as grib2), this update introduces a domain/resolution directory level to group output more effectively.

  • For example, instead of having all products in a single directory, the structure will now include specific directories based on domain and resolution (e.g., products/wave/gridded/arctic.9km, products/wave/gridded/global.0p16). This change improves organization and scalability for wave gridded product outputs.

  • Resolves Add domain level to wave gridded COM path #2677

Type of change

  • COM_WAVE_GRID_TMPL updated (or a new template, similar to COM_ATMOS_GRIB_TMP and COM_ATMOS_GRIB_GRID_TMPL) to include a directory level for the domain and resolution
  • Gridded wave output placed into separate directories based on domain/resolution within products/wave/gridded
  • Output otherwise remain unchanged

Change characteristics

  • Is this a breaking change (a change in existing functionality)? NO
  • Does this change require a documentation update? NO
  • Does this change require an update to any of the following submodules? NO

How has this been tested?

  • CI tests with HERA and HERCULES

Checklist

  • Any dependent changes have been merged and published
  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have documented my code, including function, input, and output descriptions
  • My changes generate no new warnings
  • New and existing tests pass with my changes
  • This change is covered by an existing CI test or a new one has been added
  • Any new scripts have been added to the .github/CODEOWNERS file with owners
  • I have made corresponding changes to the system documentation if necessary

jobs/JGLOBAL_ARCHIVE Fixed Show fixed Hide fixed
jobs/JGLOBAL_ARCHIVE Fixed Show fixed Hide fixed
jobs/JGLOBAL_ARCHIVE Fixed Show fixed Hide fixed
jobs/JGLOBAL_WAVE_POST_SBS Fixed Show fixed Hide fixed
Copy link
Contributor Author

@AntonMFernando-NOAA AntonMFernando-NOAA left a comment

Choose a reason for hiding this comment

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

@WalterKolczynski-NOAA @JessicaMeixner-NOAA Did more changes. Let me know if you agree.

ush/wave_domain_grid.sh Show resolved Hide resolved
scripts/exgfs_wave_post_gridded_sbs.sh Outdated Show resolved Hide resolved
echo "Directory ${!com_dir} created."
else
echo "Directory ${!com_dir} already exists."
fi
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@WalterKolczynski-NOAA I think this code should move to jobs\JGLOBAL_WAVE_PRDGEN_GRIDDED. But, I don't know which var to use to define the COM paths. I know it is $grids. But, $grids is only defined in exgfs_wave_prdgen_gridded.sh, not in any config files. Any idea what to do here?

Copy link
Contributor

Choose a reason for hiding this comment

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

Agree it should be in the j-job. Move grids to the parm file as GEMPAK_GRIDS, then use that to construct the COM paths in the j-job (other instances of grids in this script will obviously need to be updated as well).

Copy link
Contributor

Choose a reason for hiding this comment

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

Tagging @AminIlia-NOAA for the prdgen job.

@@ -1,20 +1,23 @@
gfswave:
{% set head = "gfswave.t" + cycle_HH + "z." %}
{% set grdNAME = "global.2p00" %}
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Contributor

Choose a reason for hiding this comment

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

I think this should be waveGRD, but I would have to look closely to be 100% sure.

Copy link
Contributor Author

@AntonMFernando-NOAA AntonMFernando-NOAA Jan 10, 2025

Choose a reason for hiding this comment

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

@WalterKolczynski-NOAA waveGRD is uglo_100km. When used waveGRD arch job fails.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think this needs to be variable based on what waveinterpGRD and wavepostGRD are. I think you are hard-coding to specific cases instead of being generic here.

Copy link
Contributor

Choose a reason for hiding this comment

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

Okay, it should use whatever your new process_grdID function spits out then.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@JessicaMeixner-NOAA waveinterpGRD and wavepostGRD are not environmental variables for arch job. That's why I hard-coded it like that. Any suggestions?

Copy link
Contributor

Choose a reason for hiding this comment

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

Add wave to the list of config files sourced at the top of archive j-job.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@JessicaMeixner-NOAA One way to tackle this is as @WalterKolczynski-NOAA suggested, update the process_grdID function or add another function to wave_domain_grid_res.sh for arch job.

@@ -2,6 +2,7 @@
{% set cycle_YMD = current_cycle | to_YMD %}
{% set cycle_YMDH = current_cycle | to_YMDH %}
{% set head = RUN + "wave.t" + cycle_HH + "z." %}
{% set grdNAME = "global.5p00" %}
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@WalterKolczynski-NOAA Agree with this?

Copy link
Contributor

Choose a reason for hiding this comment

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

Tagging @sbanihash for this as well.

Copy link
Contributor

Choose a reason for hiding this comment

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

This may need to be based on process_grdID as well.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think this is also incorrectly hard-coded and also should be variables.

scripts/exgfs_wave_post_gridded_sbs.sh Outdated Show resolved Hide resolved
name: "GFSWAVE"
target: "{{ ATARDIR }}/{{ cycle_YMDH }}/gfswave.tar"
required:
# Wave GRIB2 regional forecast products
{% set file_path = COMIN_WAVE_GRID ~ "/" ~ grdNAME %}
Copy link
Contributor

@WalterKolczynski-NOAA WalterKolczynski-NOAA Jan 10, 2025

Choose a reason for hiding this comment

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

COMIN_WAVE_GRID should include the ${GRDNAME}_${GRDRES} level when defined in the j-job.

Copy link
Contributor

@JessicaMeixner-NOAA JessicaMeixner-NOAA left a comment

Choose a reason for hiding this comment

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

Thanks for these updates @AntonMFernando-NOAA !

Please let me know when you're ready for me to do a new test with the multiple output grids.

@@ -2,6 +2,7 @@
{% set cycle_YMD = current_cycle | to_YMD %}
{% set cycle_YMDH = current_cycle | to_YMDH %}
{% set head = RUN + "wave.t" + cycle_HH + "z." %}
{% set grdNAME = "global.5p00" %}
Copy link
Contributor

Choose a reason for hiding this comment

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

Tagging @sbanihash for this as well.

jobs/JGLOBAL_WAVE_POST_SBS Outdated Show resolved Hide resolved
echo "Directory ${!com_dir} created."
else
echo "Directory ${!com_dir} already exists."
fi
Copy link
Contributor

Choose a reason for hiding this comment

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

Tagging @AminIlia-NOAA for the prdgen job.

jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED Fixed Show fixed Hide fixed
jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED Fixed Show fixed Hide fixed
jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED Fixed Show fixed Hide fixed
jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED Fixed Show fixed Hide fixed
jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED Fixed Show fixed Hide fixed
jobs/JGLOBAL_ARCHIVE Fixed Show fixed Hide fixed
jobs/JGLOBAL_ARCHIVE Fixed Show fixed Hide fixed
jobs/JGLOBAL_ARCHIVE Fixed Show fixed Hide fixed
jobs/JGLOBAL_ARCHIVE Fixed Show fixed Hide fixed
jobs/JGLOBAL_ARCHIVE Fixed Show fixed Hide fixed
jobs/JGLOBAL_ARCHIVE Fixed Show fixed Hide fixed
jobs/JGLOBAL_ARCHIVE Fixed Show fixed Hide fixed
jobs/JGLOBAL_ARCHIVE Fixed Show fixed Hide fixed
jobs/JGLOBAL_ARCHIVE Fixed Show fixed Hide fixed
jobs/JGLOBAL_ARCHIVE Fixed Show fixed Hide fixed
jobs/JGLOBAL_ARCHIVE Fixed Show fixed Hide fixed
jobs/JGLOBAL_ARCHIVE Fixed Show fixed Hide fixed
jobs/JGLOBAL_ARCHIVE Fixed Show fixed Hide fixed
jobs/JGLOBAL_ARCHIVE Fixed Show fixed Hide fixed
jobs/JGLOBAL_ARCHIVE Fixed Show fixed Hide fixed
ush/wave_domain_grid.sh Fixed Show fixed Hide fixed
Copy link
Contributor Author

@AntonMFernando-NOAA AntonMFernando-NOAA left a comment

Choose a reason for hiding this comment

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

@WalterKolczynski-NOAA I think this is ready to be reviewed again.
@JessicaMeixner-NOAA You can run a new test with the multiple output grids, if you agree with the changes.

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.

Add domain level to wave gridded COM path
4 participants