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

(PLATFORM-1077) Adding CI/CD capabilities and Unit Tests #76

Open
wants to merge 32 commits into
base: master
Choose a base branch
from

Conversation

kbooker79
Copy link
Collaborator

@kbooker79 kbooker79 commented Feb 22, 2024

This PR enables running of the standalone Stochastic Physics unit tests, and automation of the standalone unit tests through the addition of a jenkins pipeline integration. The pipeline is spun-up via git labels and executed through a newly created jenkinsfile script.

@kbooker79 kbooker79 added the run-unit-tests Label to append in order to trigger CI/CD pipeline testing label Feb 22, 2024
@epic-cicd-jenkins epic-cicd-jenkins removed the run-unit-tests Label to append in order to trigger CI/CD pipeline testing label Feb 22, 2024
@kbooker79 kbooker79 added the run-unit-tests Label to append in order to trigger CI/CD pipeline testing label Feb 22, 2024
@epic-cicd-jenkins epic-cicd-jenkins removed the run-unit-tests Label to append in order to trigger CI/CD pipeline testing label Feb 22, 2024
@zach1221
Copy link
Collaborator

Hi, @kbooker79 . Can you please sync up the PR branch with master?

@epic-cicd-jenkins epic-cicd-jenkins removed the run-unit-tests Label to append in order to trigger CI/CD pipeline testing label May 17, 2024
@zach1221 zach1221 added the run-unit-tests Label to append in order to trigger CI/CD pipeline testing label May 17, 2024
@epic-cicd-jenkins epic-cicd-jenkins removed the run-unit-tests Label to append in order to trigger CI/CD pipeline testing label May 17, 2024
@zach1221 zach1221 added the run-unit-tests Label to append in order to trigger CI/CD pipeline testing label May 17, 2024
@epic-cicd-jenkins epic-cicd-jenkins removed the run-unit-tests Label to append in order to trigger CI/CD pipeline testing label May 17, 2024
@zach1221 zach1221 changed the title PLATFORM-1077, adding CI/CD capabilities (PLATFORM-1077) Adding CI/CD capabilities and Unit Tests May 20, 2024
@zach1221 zach1221 self-assigned this May 22, 2024
@zach1221 zach1221 requested a review from jkbk2004 May 22, 2024 12:53
@zach1221
Copy link
Collaborator

@zach1221
Copy link
Collaborator

@jkbk2004 @pjpegion I think this PR is ready for review. I've tested the git label to ensure that the pipeline works, and I can confirm that it does.

@zach1221 zach1221 requested review from zach1221 and jkbk2004 and removed request for jkbk2004 June 7, 2024 20:03
n_var_lndp = 2
/

&nam_sppperts
Copy link
Contributor

@JeffBeck-NOAA JeffBeck-NOAA Aug 2, 2024

Choose a reason for hiding this comment

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

Here are the options for SPP (note that these are the generally recommended settings to run SPP at 3-km in the SRW App; I've not tested it with any other UFS App or at different grid resolutions):

DO_SPP: true
N_VAR_SPP: 5
SPP_VAR_LIST: "pbl", "sfc", "mp", "rad", "gwd"
SPP_MAG_LIST: 0.2, 0.2, 0.75, 0.2, 0.2
SPP_LSCALE: 150000.0, 150000.0, 150000.0, 150000.0, 150000.0
SPP_TSCALE: 21600.0, 21600.0, 21600.0, 21600.0, 21600.0
SPP_SIGTOP1: 0.1, 0.1, 0.1, 0.1, 0.1
SPP_SIGTOP2: 0.025, 0.025, 0.025, 0.025, 0.025
SPP_STDDEV_CUTOFF: 1.5, 1.5, 2.5, 1.5, 1.5
ISEED_SPP: 4, 5, 6, 7, 8

Note that EMC implemented SPP for the Grell-Frietas scheme, which can be turned on by adding "cu_deep" to the SPP_VAR_LIST variable and adding an additional value to the other namelist entries.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Ok, @JeffBeck-NOAA. I've added the changes to input.nml. I added "cu_deep" as an additional variable to SPP_VAR_LIST 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.

@zach1221, did n_var_spp not work with 6?

Copy link
Collaborator

Choose a reason for hiding this comment

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

@JeffBeck-NOAA yes, looks like it failed with the below. I was going to try with 5, but Hera is down for maintenance currently.

At line 182 of file compns_stochy.F90 (unit = 21, file = 'input.nml')
1: Fortran runtime error: Cannot match namelist object name spp_var_list:

@zach1221 zach1221 added the run-unit-tests Label to append in order to trigger CI/CD pipeline testing label Aug 5, 2024
@epic-cicd-jenkins epic-cicd-jenkins removed the run-unit-tests Label to append in order to trigger CI/CD pipeline testing label Aug 5, 2024
@zach1221
Copy link
Collaborator

zach1221 commented Aug 5, 2024

@JeffBeck-NOAA I tested out the unit test pipeline, following our changes. Following the srun command (srun --label -A epic -n 24 standalone_stochy.x), the pipeline failed with the below.

At line 182 of file compns_stochy.F90 (unit = 21, file = 'input.nml')
1: Fortran runtime error: Cannot match namelist object name do_spp:

Does do_spp need to be enabled in compns_stochy.F90 as well, perhaps?

@JeffBeck-NOAA
Copy link
Contributor

Sorry, @zach1221. The following needs to be in the &gfs_physics_nml (not &nam_sppperts) section of input.nml:

do_spp = .true.
n_var_spp = 6 (if running with GF perturbations, 5 otherwise)

@zach1221 zach1221 added the run-unit-tests Label to append in order to trigger CI/CD pipeline testing label Aug 5, 2024
@epic-cicd-jenkins epic-cicd-jenkins removed the run-unit-tests Label to append in order to trigger CI/CD pipeline testing label Aug 5, 2024
@zach1221 zach1221 added the run-unit-tests Label to append in order to trigger CI/CD pipeline testing label Aug 6, 2024
@epic-cicd-jenkins epic-cicd-jenkins removed the run-unit-tests Label to append in order to trigger CI/CD pipeline testing label Aug 6, 2024
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.

4 participants