Skip to content

Commit

Permalink
Merge branch 'develop' into feature/move_jcb
Browse files Browse the repository at this point in the history
* develop:
  Changes name of rossrad file for letkf (#1151)
  Adds staging jinja/yaml file for letkf task (#1137)
  • Loading branch information
danholdaway committed Jun 6, 2024
2 parents aaaded8 + 5071c52 commit 0cda73b
Show file tree
Hide file tree
Showing 5 changed files with 72 additions and 5 deletions.
8 changes: 4 additions & 4 deletions parm/soca/letkf/letkf.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ geometry:
fields metadata: fields_metadata.yaml

time window:
begin: &date '{{ ATM_WINDOW_BEGIN }}'
begin: &date '{{ WINDOW_BEGIN | to_isotime }}'
length: PT6H

background:
members from template:
template:
date: '{{ ATM_WINDOW_MIDDLE }}'
ocn_filename: enkfgdas.ocean.t06z.inst.f009.nc
ice_filename: enkfgdas.ice.t06z.inst.f009.nc
date: '{{ WINDOW_MIDDLE | to_isotime }}'
ocn_filename: "{{ GDUMP_ENS }}.ocean.t{{ gcyc }}z.inst.f006.nc"
ice_filename: "{{ GDUMP_ENS }}.ice.t{{ gcyc }}z.inst.f006.nc"
read_from_file: 1
basename: ./ens/mem%mem%
state variables: [socn, tocn, ssh, uocn, vocn, cicen]
Expand Down
49 changes: 49 additions & 0 deletions parm/soca/letkf/letkf_stage.yaml.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
######################################
# set some variables
######################################
{% set gPDY = previous_cycle | to_YMD %}
{% set gcyc = previous_cycle | strftime("%H") %}
{% set PDY = current_cycle | to_YMD %}
{% set cyc = current_cycle | strftime("%H") %}
######################################
# create working directories
######################################
mkdir:
- "{{ DATA }}/Data"
- "{{ DATA }}/obs"
- "{{ DATA }}/INPUT"
{% for mem in range(1, NMEM_ENS + 1) %}
- "{{ DATA }}/ens/mem{{ '%03d' % mem }}"
{% endfor %}
copy:
######################################
# copy mom input template
######################################
- ["{{ PARMgfs }}/gdas/soca/fms/input.nml", "{{ DATA }}/mom_input.nml.tmpl"]
######################################
# copy ensemble background files
######################################
{% for mem in range(1, NMEM_ENS + 1) %}
# define variables
# Declare a dict of search and replace terms to GDUMP on each template
{% set tmpl_dict = {'ROTDIR':ROTDIR,
'RUN': GDUMP_ENS,
'YMD':gPDY,
'HH':gcyc,
'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_prev_ocn = namespace(COM_OCEAN_HISTORY_MEM = COM_OCEAN_HISTORY_TMPL) %}
{% set com_prev_ice = namespace(COM_ICE_HISTORY_MEM = COM_ICE_HISTORY_TMPL) %}
{% for key in tmpl_dict.keys() %}
{% set search_term = '${' + key + '}' %}
{% set replace_term = tmpl_dict[key] %}
{% set com_prev_ocn.COM_OCEAN_HISTORY_MEM = com_prev_ocn.COM_OCEAN_HISTORY_MEM.replace(search_term, replace_term) %}
{% set com_prev_ice.COM_ICE_HISTORY_MEM = com_prev_ice.COM_ICE_HISTORY_MEM.replace(search_term, replace_term) %}
{% endfor %}
- ["{{ com_prev_ocn.COM_OCEAN_HISTORY_MEM }}/{{ GDUMP_ENS }}.ocean.t{{ gcyc }}z.inst.f006.nc", "{{ DATA }}/ens/mem{{ '%03d' % mem }}/{{ GDUMP_ENS }}.ocean.t{{ gcyc }}z.inst.f006.nc"]
- ["{{ com_prev_ice.COM_ICE_HISTORY_MEM }}/{{ GDUMP_ENS }}.ice.t{{ gcyc }}z.inst.f006.nc", "{{ DATA }}/ens/mem{{ '%03d' % mem }}/{{ GDUMP_ENS }}.ice.t{{ gcyc }}z.inst.f006.nc"]
{% endfor %}
16 changes: 16 additions & 0 deletions parm/soca/letkf/soca_fix_stage.yaml.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
######################################
# fix files to copy
######################################
copy:
- ["{{ SOCA_INPUT_FIX_DIR }}/rossrad.nc", "{{ DATA }}/rossrad.nc"]
- ["{{ SOCA_INPUT_FIX_DIR }}/field_table", "{{ DATA }}/field_table"]
- ["{{ SOCA_INPUT_FIX_DIR }}/diag_table", "{{ DATA }}/diag_table"]
- ["{{ SOCA_INPUT_FIX_DIR }}/MOM_input", "{{ DATA }}/MOM_input"]
- ["{{ SOCA_INPUT_FIX_DIR }}/fields_metadata.yaml", "{{ DATA }}/fields_metadata.yaml"]
- ["{{ SOCA_INPUT_FIX_DIR }}/obsop_name_map.yaml", "{{ DATA }}/obsop_name_map.yaml"]
- ["{{ SOCA_INPUT_FIX_DIR }}/INPUT/grid_spec.nc", "{{ DATA }}/INPUT/grid_spec.nc"]
- ["{{ SOCA_INPUT_FIX_DIR }}/INPUT/hycom1_25.nc", "{{ DATA }}/INPUT/hycom1_25.nc"]
- ["{{ SOCA_INPUT_FIX_DIR }}/INPUT/layer_coord25.nc", "{{ DATA }}/INPUT/layer_coord25.nc"]
- ["{{ SOCA_INPUT_FIX_DIR }}/INPUT/ocean_hgrid.nc", "{{ DATA }}/INPUT/ocean_hgrid.nc"]
- ["{{ SOCA_INPUT_FIX_DIR }}/INPUT/ocean_mosaic.nc", "{{ DATA }}/INPUT/ocean_mosaic.nc"]
- ["{{ SOCA_INPUT_FIX_DIR }}/INPUT/ocean_topog.nc", "{{ DATA }}/INPUT/ocean_topog.nc"]
2 changes: 1 addition & 1 deletion test/soca/gw/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ set(jjob_list "JGLOBAL_PREP_OCEAN_OBS"
"JGDAS_GLOBAL_OCEAN_ANALYSIS_BMAT"
"JGDAS_GLOBAL_OCEAN_ANALYSIS_RUN"
"JGDAS_GLOBAL_OCEAN_ANALYSIS_ECEN"
# "JGDAS_GLOBAL_OCEAN_ANALYSIS_LETKF"
# "JGDAS_GLOBAL_OCEAN_ANALYSIS_LETKF"
"JGDAS_GLOBAL_OCEAN_ANALYSIS_CHKPT"
"JGDAS_GLOBAL_OCEAN_ANALYSIS_POST"
"JGDAS_GLOBAL_OCEAN_ANALYSIS_VRFY")
Expand Down
2 changes: 2 additions & 0 deletions test/soca/gw/prep.sh
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,11 @@ do
oceandir=${COMENS}/06/mem00${mem}/model_data/ocean/history
mkdir -p $oceandir
cp ${clim_ens_dir}/ocean.${mem}.nc $oceandir/enkfgdas.ocean.t06z.inst.f009.nc
cp ${clim_ens_dir}/ocean.${mem}.nc $oceandir/enkfgdas.ocean.t06z.inst.f006.nc

# ice member
icedir=${COMENS}/06/mem00${mem}/model_data/ice/history
mkdir -p $icedir
cp ${clim_ens_dir}/ice.${mem}.nc $icedir/enkfgdas.ice.t06z.inst.f009.nc
cp ${clim_ens_dir}/ice.${mem}.nc $icedir/enkfgdas.ice.t06z.inst.f006.nc
done

0 comments on commit 0cda73b

Please sign in to comment.