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

[develop]: Add documentation for HSD cases in tests-dev #2498

Draft
wants to merge 38 commits into
base: develop
Choose a base branch
from

Conversation

gspetro-NOAA
Copy link
Contributor

Description:

This PR provides documentation for the HSD cases in tests-dev.

Commit Message:

* UFSWM - Documentation for HSD cases 

Priority:

  • High: EPIC is planning an HSD capability announcement for 11/20/24

Git Tracking

UFSWM:

Sub component Pull Requests:

  • None

UFSWM Blocking Dependencies:

  • None

Changes

Regression Test Changes (Please commit test_changes.list):

  • No Baseline Changes.

Input data Changes:

  • None.

Library Changes/Upgrades:

  • No Updates

Testing Log:

  • RDHPCS
    • Hera
    • Orion
    • Hercules
    • Jet
    • Gaea
    • Derecho
  • WCOSS2
    • Dogwood/Cactus
    • Acorn
  • CI
  • opnReqTest (complete task if unnecessary)


.. note::

In order to generate all necessary configuration, data, input, and fix files to run in this method, the user first needs to run the base RT script using ``./rt.sh -n`` to set up the run directory.
Copy link
Collaborator

Choose a reason for hiding this comment

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

@gspetro-NOAA i would remove this and simply say that the user should copy the gfs*.nc and sfc*.nc files generated by gdas_init into the INPUT directory of their test case's run directory (e.g., for 2020_CAPE w/ Intel, that directory would be in ufs-weather-model/tests-dev/run_dir/2020_CAPE_intel). the ufs-weather-model/tests-dev/run_dir path is a symlink to the actual run directory location, so the user should cd into the absolute path and copy the gfs*.nc and sfc*.nc files into the INPUT directory therein.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

But this implies that they have already run the case w/default settings, right...?

Copy link
Collaborator

Choose a reason for hiding this comment

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

yes, they can follow this "copy" method when they already have run a case and just want to try new ICs and a new start time. otherwise, if they want to configure there own case with new ICs from scratch, they will need to make sure their ICs are copied in via the relevant *.IN file from tests-dev/test_cases/exp_conf.

These steps will (1) pull raw GFS data from HPSS into ``EXTRACT_DIR`` and then (2) convert the raw data to coldstart ICs (placed in ``OUTDIR/gfs.YYYYMMDD/HH/model_data/atmos/input``). The converted cold start ICs can then be used as input data for certain UFS WM regression tests (RTs) of corresponding model resolution and configuration.

To use the converted coldstart files with the UFS WM, copy the ``gfs*.nc`` and ``sfc*.nc`` files from ``OUTDIR/gfs.YYYYMMDD/HH/model_data/atmos/input`` into the ``INPUT`` directory of the UFS WM RT run directory, and adjust the model start time in the ``model_configure`` file. Note that the resolution of the converted cold start GFS data must match the ATM resolution of the UFS WM RT (e.g., use C48 GFS cold start data in the ``control_c48.v2.sfc`` RT). Then, edit the model start year, month, day, and hour in the RT ``model_configure`` file. For example:
Copy link
Collaborator

Choose a reason for hiding this comment

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

@gspetro-NOAA this applies for changing the date of the ICs, but if users change the resolution, they will need to re-configure the test to use appropriate *.IN, input.nml, and fix files.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I believe I've included this in the Test Configuration section (line 115-ish) already. Is that sufficient? Or do I need to restate it here...? Maybe I should just move this section down to configuration (since it applies once people have the ICs).

Copy link
Collaborator

Choose a reason for hiding this comment

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

maybe a brief disclaimer here that copying the ICs in in a pre-existing rundir will only work for ICs of the same resolution (and to check the Test Config. section for further info)?


.. code-block:: console
./ufs_test.sh -a epic -s -c -k -r -n "2020_CAPE intel"
Copy link
Collaborator

Choose a reason for hiding this comment

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

Please add a note that -s only needs to be run the first time a user invokes ufs_test.sh, so that it creates the necessary symlinks for associated scripts from the tests directory. Also, if any changes are made to files inside of tests-dev/test_cases After using -s, the user will need to ensure these are manually copied to the relevant symlink directories inside tests-dev, rerun ufs_test.sh with -s, or work from a fresh clone so that everything is properly copied via -s.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

There is already a note about using -s in the section just above that describes the command-line arguments. I will add a comment about the manual symlinking tho.

Copy link
Contributor Author

@gspetro-NOAA gspetro-NOAA Nov 18, 2024

Choose a reason for hiding this comment

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

Actually, there's already a comment about symlinking in the Test Configuration section... I can add another note, but there's a fine line between being clear and being redundant...

Copy link
Collaborator

Choose a reason for hiding this comment

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

sorry i missed that. feel free to ignore this comment.

Copy link
Collaborator

@ulmononian ulmononian left a comment

Choose a reason for hiding this comment

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

thanks very much for this documentation!!!!

left some comments

These steps will (1) pull raw GFS data from HPSS into ``EXTRACT_DIR`` and then (2) convert the raw data to coldstart ICs (placed in ``OUTDIR/gfs.YYYYMMDD/HH/model_data/atmos/input``). The converted coldstart ICs can then be used as input data for certain UFS WM regression tests (RTs) of corresponding model resolution and configuration (e.g., C48 GFS coldstart data in the ``control_c48.v2.sfc`` RT).

To use the converted coldstart files with the UFS WM, copy the ``gfs*.nc`` and ``sfc*.nc`` files from ``OUTDIR/gfs.YYYYMMDD/HH/model_data/atmos/input`` into the ``INPUT`` directory of the UFS WM RT run directory. (The run directory is set in ``rt.sh`` as ``${PTMP}/${USER}/FV3_RT}/rt_$$`` using the ``PTMP`` value from ``baseline_setup.yaml``.) Additionally, adjust the model start time in the ``model_configure`` file. Then, edit the model start year, month, day, and hour in the RT ``model_configure`` file. For example:
Copy link
Collaborator

Choose a reason for hiding this comment

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

this workflow does not use rt.sh. can you just state that the run dir is set as ${PTMP}/${USER}/FV3_RT}/rt_$$? in create_xml.py?

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 documentation for tests-dev HSD cases
3 participants