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

Use replace_tmpl Jinja filter instead of namespaces in archiving #2775

Merged
2 changes: 1 addition & 1 deletion .github/workflows/ci_unit_tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
run: |
sudo mkdir -p /scratch1/NCEPDEV
cd $GITHUB_WORKSPACE/sorc
git submodule update --init --recursive
git submodule update --init
./link_workflow.sh
cd $GITHUB_WORKSPACE/ci/scripts/tests
ln -s ../wxflow
Expand Down
40 changes: 13 additions & 27 deletions parm/archive/master_enkf.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -52,35 +52,21 @@ datasets:
{% for mem in range(first_group_mem, last_group_mem + 1) %}

# Declare a dict of search and replace terms to run on each template
{% set tmpl_dict = {'ROTDIR':ROTDIR,
'RUN':RUN,
'YMD':cycle_YMD,
'HH':cycle_HH,
'MEMDIR':"mem" + '%03d' % mem} %}

# Replace template variables with tmpl_dict, one key at a time
# This must be done in a namespace to overcome jinja scoping
# Variables set inside of a for loop are lost at the end of the loop
# unless they are part of a namespace
{% set com_ns = namespace(COMIN_ATMOS_ANALYSIS_MEM = COM_ATMOS_ANALYSIS_TMPL,
COMIN_ATMOS_HISTORY_MEM = COM_ATMOS_HISTORY_TMPL,
COMIN_ATMOS_RESTART_MEM = COM_ATMOS_RESTART_TMPL) %}

{% for key in tmpl_dict.keys() %}
{% set search_term = '${' + key + '}' %}
{% set replace_term = tmpl_dict[key] %}
{% set com_ns.COMIN_ATMOS_ANALYSIS_MEM =
com_ns.COMIN_ATMOS_ANALYSIS_MEM.replace(search_term, replace_term) %}
{% set com_ns.COMIN_ATMOS_HISTORY_MEM =
com_ns.COMIN_ATMOS_HISTORY_MEM.replace(search_term, replace_term) %}
{% set com_ns.COMIN_ATMOS_RESTART_MEM =
com_ns.COMIN_ATMOS_RESTART_MEM.replace(search_term, replace_term) %}
{% endfor %}
{% set mem_char = 'mem%03d' | format(mem) %}
{% set tmpl_dict = ({ '${ROTDIR}':ROTDIR,
'${RUN}':RUN,
'${YMD}':cycle_YMD,
'${HH}':cycle_HH,
'${MEMDIR}': mem_char }) %}

{% set COMIN_ATMOS_ANALYSIS_MEM = COM_ATMOS_ANALYSIS_TMPL | replace_tmpl(tmpl_dict) %}
{% set COMIN_ATMOS_HISTORY_MEM = COM_ATMOS_HISTORY_TMPL | replace_tmpl(tmpl_dict) %}
{% set COMIN_ATMOS_RESTART_MEM = COM_ATMOS_RESTART_TMPL | replace_tmpl(tmpl_dict) %}

# Append the member COM directories
{% do COMIN_ATMOS_ANALYSIS_MEM_list.append(com_ns.COMIN_ATMOS_ANALYSIS_MEM)%}
{% do COMIN_ATMOS_HISTORY_MEM_list.append(com_ns.COMIN_ATMOS_HISTORY_MEM)%}
{% do COMIN_ATMOS_RESTART_MEM_list.append(com_ns.COMIN_ATMOS_RESTART_MEM)%}
{% do COMIN_ATMOS_ANALYSIS_MEM_list.append(COMIN_ATMOS_ANALYSIS_MEM)%}
{% do COMIN_ATMOS_HISTORY_MEM_list.append(COMIN_ATMOS_HISTORY_MEM)%}
{% do COMIN_ATMOS_RESTART_MEM_list.append(COMIN_ATMOS_RESTART_MEM)%}

{% endfor %}

Expand Down
1 change: 0 additions & 1 deletion workflow/hosts/awspw.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ STMP: '/lustre/${USER}/stmp2/'
PTMP: '/lustre/${USER}/stmp4/'
NOSCRUB: ${HOMEDIR}
ACCOUNT: hwufscpldcld
ACCOUNT_SERVICE: hwufscpldcld
SCHEDULER: slurm
QUEUE: batch
QUEUE_SERVICE: batch
Expand Down
1 change: 0 additions & 1 deletion workflow/hosts/container.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ PTMP: '/home/${USER}'
NOSCRUB: $HOMEDIR
SCHEDULER: none
ACCOUNT: ''
ACCOUNT_SERVICE: ''
QUEUE: ''
QUEUE_SERVICE: ''
PARTITION_BATCH: ''
Expand Down
1 change: 0 additions & 1 deletion workflow/hosts/gaea.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ STMP: '/gpfs/f5/ufs-ard/scratch/${USER}'
PTMP: '/gpfs/f5/ufs-ard/scratch/${USER}'
NOSCRUB: $HOMEDIR
ACCOUNT: ufs-ard
ACCOUNT_SERVICE: ufs-ard
SCHEDULER: slurm
QUEUE: normal
QUEUE_SERVICE: normal
Expand Down
1 change: 0 additions & 1 deletion workflow/hosts/hera.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ STMP: '/scratch1/NCEPDEV/stmp2/${USER}'
PTMP: '/scratch1/NCEPDEV/stmp4/${USER}'
NOSCRUB: $HOMEDIR
ACCOUNT: fv3-cpu
ACCOUNT_SERVICE: fv3-cpu
SCHEDULER: slurm
QUEUE: batch
QUEUE_SERVICE: batch
Expand Down
1 change: 0 additions & 1 deletion workflow/hosts/hercules.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ PTMP: '/work/noaa/stmp/${USER}/HERCULES'
NOSCRUB: $HOMEDIR
SCHEDULER: slurm
ACCOUNT: fv3-cpu
ACCOUNT_SERVICE: fv3-cpu
QUEUE: batch
QUEUE_SERVICE: batch
PARTITION_BATCH: hercules
Expand Down
1 change: 0 additions & 1 deletion workflow/hosts/jet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ STMP: '/lfs4/HFIP/hfv3gfs/${USER}/stmp'
PTMP: '/lfs4/HFIP/hfv3gfs/${USER}/ptmp'
NOSCRUB: $HOMEDIR
ACCOUNT: hfv3gfs
ACCOUNT_SERVICE: hfv3gfs
SCHEDULER: slurm
QUEUE: batch
QUEUE_SERVICE: batch
Expand Down
1 change: 0 additions & 1 deletion workflow/hosts/orion.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ PTMP: '/work/noaa/stmp/${USER}/ORION'
NOSCRUB: $HOMEDIR
SCHEDULER: slurm
ACCOUNT: fv3-cpu
ACCOUNT_SERVICE: fv3-cpu
QUEUE: batch
QUEUE_SERVICE: batch
PARTITION_BATCH: orion
Expand Down
1 change: 0 additions & 1 deletion workflow/hosts/s4.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ STMP: '/scratch/users/${USER}'
PTMP: '/scratch/users/${USER}'
NOSCRUB: ${HOMEDIR}
ACCOUNT: star
ACCOUNT_SERVICE: star
SCHEDULER: slurm
QUEUE: s4
QUEUE_SERVICE: serial
Expand Down
1 change: 0 additions & 1 deletion workflow/hosts/wcoss2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ STMP: '/lfs/h2/emc/stmp/${USER}'
PTMP: '/lfs/h2/emc/ptmp/${USER}'
NOSCRUB: $HOMEDIR
ACCOUNT: 'GFS-DEV'
ACCOUNT_SERVICE: 'GFS-DEV'
SCHEDULER: pbspro
QUEUE: 'dev'
QUEUE_SERVICE: 'dev_transfer'
Expand Down
2 changes: 1 addition & 1 deletion workflow/rocoto/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ def get_resource(self, task_name):

task_config = self._configs[task_name]

account = task_config['ACCOUNT_SERVICE'] if task_name in Tasks.SERVICE_TASKS else task_config['ACCOUNT']
account = task_config['ACCOUNT']

if f'wtime_{task_name}_{self.cdump}' in task_config:
walltime = task_config[f'wtime_{task_name}_{self.cdump}']
Expand Down
Loading