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

Modify specification of MinMon tank (archive) directory for rocoto-based parallels #993

Closed
RussTreadon-NOAA opened this issue Aug 24, 2022 · 5 comments
Assignees
Labels
bug Something isn't working

Comments

@RussTreadon-NOAA
Copy link
Contributor

Expected behavior
MinMon output from developer rocoto-based parallels should be saved in $PSLOT specific directories.

Current behavior
Execution of the gdas and gfs vrfy jobs from release/gfs.v16.3.0 writes MinMon output to a non-$PSLOT specific directory. If a developer runs multiple rocoto-based parallels with different $PSLOT, MinMon output from the current parallel will overwrite output from the previous parallel.

Machines affected
Only confirmed on WCOSS2 but expect similar behavior on other machines.

To Reproduce
To observe the current behavior

  1. Install g-w release/gfsda.v16.3.0 on WCOSS2
  2. Set up EXPDIR for experiment $PSLOT
  3. Populate ROTDIR with the files needed to run MinMon for gdas and gfs cycle
  4. Submit gdas and gfs vrfy

MinMon output will be written to M_TANKverf="$NOSCRUB/monitor/minmon". This directory is not unique to the experiment $PSLOT.

Detailed Description
Proposed changes to vrfy.sh and config.vrfy will be committed to fork Russ.Treadon-NOAA/global-workflow/release/gfs.v16.3.0

@RussTreadon-NOAA RussTreadon-NOAA added the bug Something isn't working label Aug 24, 2022
RussTreadon-NOAA added a commit to RussTreadon-NOAA/global-workflow that referenced this issue Aug 24, 2022
@RussTreadon-NOAA
Copy link
Contributor Author

There appears to be a problem with how the gfs.v16.3.0 vrfy.sh sets tank directories for MinMon in developer rocoto-based parallels.

vrfy.sh currently has

 if [ $VRFYMINMON = "YES" -a $CDATE != $SDATE ]; then
 
     export COMOUT="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
     export M_TANKverfM0="$M_TANKverf/stats/$PSLOT/$CDUMP.$PDY"
     export M_TANKverfM1="$M_TANKverf/stats/$PSLOT/$CDUMP.$PDYm1"
     export MY_MACHINE=$machine
 
     $VRFYMINSH

fi

config.vrfy defines M_TANKverf as

export M_TANKverf="$NOSCRUB/monitor/minmon"

A check of gfsda.v16.3.0 MinMon only finds M_TANKverfM0 in util/Minimization_Monitor/nwprod/nam_minmon/jobs/JNAM_MINMON. This job is not used in the GFS. The GFS MinMon only uses M_TANKverf and M_TANKverfM1. As shown above M_TANKverf does not include the experiment name whereas M_TANKverfM1 does. This seems wrong.

The follow modification results in MinMon output being written to a $PSLOT specific output (tank) directory.

vrfy.sh

if [ $VRFYMINMON = "YES" -a $CDATE != $SDATE ]; then

    export COMOUT="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
    export M_TANKverf="$TANKverf_min/stats/$PSLOT/$CDUMP.$PDY"
    export M_TANKverfM1="$TANKverf_min/stats/$PSLOT/$CDUMP.$PDYm1"
    export MY_MACHINE=$machine

    $VRFYMINSH

fi

with config.vrfy defining

export TANKverf_min="$NOSCRUB/monitor/minmon"

The above changes were committed to the forked release/gfs.v16.3.0 at f0c9630.

Rocoto-based developer parallels and NCO run the DA Monitoring packages differently. The above changes only pertain to rocoto-based developer parallels. The official EMC v16.3.0 retrospective and real-time parallels use ecflow, like NCO, to cycle the system.

@KateFriedman-NOAA
Copy link
Member

The changes made for this issue in the v16.3 system need to be replicated in the develop branch. Will do.

@KateFriedman-NOAA KateFriedman-NOAA self-assigned this Feb 6, 2023
@KateFriedman-NOAA KateFriedman-NOAA added this to the GW February 2023 milestone Feb 6, 2023
@KateFriedman-NOAA
Copy link
Member

@EdwardSafford-NOAA I am working to replicate the changes for v16.3 into develop while retaining other recent edits done @ fd771cb.

It looks like I just need to rename M_TANKverf to TANKverf_min in both parm/config/config.vrfy and jobs/rocoto/vrfy.sh. Is that all?

I also see a difference between these two path variables between the v16 branch (M_TANKverf) and develop (M_TANKverfM0). Is the develop variable correct and should stay as is? Thanks!

KateFriedman-NOAA added a commit to KateFriedman-NOAA/global-workflow that referenced this issue Feb 6, 2023
- Replicating minmon path variable name changes in
develop that already happened in the dev/gfs.v16 branch.

Refs NOAA-EMC#993
@EdwardSafford-NOAA
Copy link
Contributor

@KateFriedman-NOAA Actually I don't think that TANKverf_min change from v16.3 is needed. Both TANKverf_min and M_TANKverf point to the same location and files in scripts and ush reference M_TANKverf.

On the second question M_TANKverfM0 is referenced by ush scripts and should remain. So the development branch is OK as is.

@KateFriedman-NOAA
Copy link
Member

@EdwardSafford-NOAA Awesome, this issue is complete then and I'll close it as such. I'll delete my fork branch that had the tentative path variable rename since that's not needed now. Thanks for your reply and confirmation that the develop branch is good.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants