Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
15cc4b2
remove path_exists
AntonMFernando-NOAA Jan 29, 2026
1c26d83
Merge branch 'NOAA-EMC:develop' into maint/path
AntonMFernando-NOAA Jan 29, 2026
f0a325b
update parm/stage/analysis.yaml.j2
AntonMFernando-NOAA Jan 29, 2026
f4fca24
it typo
AntonMFernando-NOAA Jan 29, 2026
08acf92
update parm/stage/analysis.yaml.j2
AntonMFernando-NOAA Jan 29, 2026
d2b8cce
update parm/stage/analysis.yaml.j2
AntonMFernando-NOAA Jan 29, 2026
01b3e9f
update parm/stage/analysis.yaml.j2
AntonMFernando-NOAA Jan 29, 2026
358ffd7
Merge branch 'NOAA-EMC:develop' into maint/path
AntonMFernando-NOAA Jan 30, 2026
a01ce5f
Merge branch 'develop' into maint/path
AntonMFernando-NOAA Jan 30, 2026
059e17e
Merge branch 'NOAA-EMC:develop' into maint/path
AntonMFernando-NOAA Jan 30, 2026
7244661
Merge branch 'NOAA-EMC:develop' into maint/path
AntonMFernando-NOAA Feb 3, 2026
0b043c0
update new flags
AntonMFernando-NOAA Feb 3, 2026
e443f6b
update new flags 2
AntonMFernando-NOAA Feb 3, 2026
57f720f
add path_exists back
AntonMFernando-NOAA Feb 3, 2026
9709b35
update atmosphere_warm.yaml.j2
AntonMFernando-NOAA Feb 3, 2026
3e9376c
update gdas.cd
AntonMFernando-NOAA Feb 4, 2026
a9419f1
update wxflow
AntonMFernando-NOAA Feb 4, 2026
27db87e
Merge branch 'NOAA-EMC:develop' into maint/path
AntonMFernando-NOAA Feb 5, 2026
cc11648
Merge branch 'NOAA-EMC:develop' into maint/path
AntonMFernando-NOAA Feb 6, 2026
1f16262
Merge branch 'develop' into maint/path
AntonMFernando-NOAA Feb 6, 2026
8b6a0d0
update parm/stage/analysis.yaml.j2
AntonMFernando-NOAA Feb 6, 2026
69e9635
update yamls
AntonMFernando-NOAA Feb 6, 2026
530be8e
update analysis.yaml
AntonMFernando-NOAA Feb 6, 2026
3ee9e4c
update analysis.yaml
AntonMFernando-NOAA Feb 7, 2026
0b917fa
update analysis.yaml
AntonMFernando-NOAA Feb 7, 2026
1af29a9
update ocean_mdeiator
AntonMFernando-NOAA Feb 7, 2026
879d6e0
update ocean_mediator
AntonMFernando-NOAA Feb 7, 2026
5fb3dcc
Merge branch 'NOAA-EMC:develop' into maint/path
AntonMFernando-NOAA Feb 9, 2026
ffac271
Merge branch 'NOAA-EMC:develop' into maint/path
AntonMFernando-NOAA Feb 10, 2026
87201f6
Merge branch 'NOAA-EMC:develop' into maint/path
AntonMFernando-NOAA Feb 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions parm/stage/aero.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ aero:
- "{{ COMOUT_CHEM_ANALYSIS }}"

link_req:
{% if path_exists(ICSDIR ~ "/" ~ COMOUT_CHEM_ANALYSIS | relpath(ROTDIR) ~ "/" ~ RUN ~ ".t" ~ current_cycle_HH ~ "z." ~ ftype) %}
{% if DO_AERO_ANL %}
- ["{{ ICSDIR }}/{{ COMOUT_CHEM_ANALYSIS | relpath(ROTDIR) }}/{{ RUN }}.t{{ current_cycle_HH }}z.aero_varbc_params.tar",
Copy link
Contributor

Choose a reason for hiding this comment

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

@bbakernoaa @CoryMartin-NOAA is there a case where the aero_varbc_params.tar file will not be present? Is there a flag available to identify that case?

Copy link
Contributor

Choose a reason for hiding this comment

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

We actually aren't using VarBc for aerosols for GCAFSv1, we thought we might but decided against it. When cycling it makes an empty file I believe. Can we check if it's the first half cycle or not and only expect to copy it when not the first cycle?

"{{ COMOUT_CHEM_ANALYSIS }}"]
{% endif %}
{% endif %}
93 changes: 61 additions & 32 deletions parm/stage/analysis.yaml.j2
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{# ============================================================================ #}
{# Analysis Staging Configuration #}
{# ============================================================================ #}
{% if path_exists(ICSDIR ~ "/" ~ COMOUT_ATMOS_ANALYSIS | relpath(ROTDIR)) %}
analysis:
mkdir:
- "{{ COMOUT_ATMOS_ANALYSIS }}"
Expand All @@ -10,70 +9,96 @@ analysis:
{# -------------------------------------------------------------------- #}
{# JEDI Atmospheric Variational Data Assimilation #}
{# -------------------------------------------------------------------- #}
{% if DO_JEDIATMVAR %}

{# Cubed Sphere Grid Configuration #}
{% if ATMINC_GRID == "cubed_sphere_grid" %}
{# Cubed Sphere Grid Configuration #}
{% if ATMINC_GRID == "cubed_sphere_grid" %}

{% if (DO_JEDIATMVAR or DO_JEDIATMENS) and EXP_WARM_START %}
Copy link
Contributor

Choose a reason for hiding this comment

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

Similarly, perhaps setting do_jediatm in stage_ic.py based on the RUN. Again, not sure that is easier/harder.


{% for itile in range(ntiles) %}

{# Deterministic Member (member == -1) #}
{% if member == -1 %}

{% if DOIAU %}
{% set ftypes = ["jedi_increment.atm.i003", "jedi_increment.atm.i006", "jedi_increment.atm.i009" ] %}
{% set ftypes = ["jedi_increment.atm.i003", "jedi_increment.atm.i006" ] %}
{% else %}
{% set ftypes = ["jedi_increment.atm.i006" ] %}
{% set ftypes = [ "jedi_increment.atm.i009" ] %}
{% endif %}

{# Ensemble Members (member != -1) #}
{% else %}

{% if DOIAU_ENKF %}
{% set ftypes = ["recentered_jedi_increment.atm.i003", "recentered_jedi_increment.atm.i006", "recentered_jedi_increment.atm.i009" ] %}
{% else %}
{% set ftypes = ["recentered_jedi_increment.atm.i006" ] %}
{% endif %}

{% endif %}

{% for ftype in ftypes %}
{% if path_exists(ICSDIR ~ "/" ~ COMOUT_ATMOS_ANALYSIS | relpath(ROTDIR) ~ "/" ~ RUN ~ ".t" ~ current_cycle_HH ~ "z." ~ ftype ~ ".tile" ~ (itile+1) ~ ".nc") %}
- ["{{ ICSDIR }}/{{ COMOUT_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ RUN }}.t{{ current_cycle_HH }}z.{{ ftype }}.tile{{ itile+1 }}.nc", "{{ COMOUT_ATMOS_ANALYSIS }}"]
{% endif %}
{% endfor %}

{% endfor %}

{# Non-Cubed Sphere Grid Configuration #}
{% endif %}

{# Non-Cubed Sphere Grid Configuration #}
{% else %}

{% if DO_JEDIATMVAR %}
- ["{{ ICSDIR }}/{{ COMOUT_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ RUN }}.t{{ current_cycle_HH }}z.rad_varbc_params.tar", "{{ COMOUT_ATMOS_ANALYSIS }}"]

{# Data Assimilation (Non-JEDI) #}
{% else %}

{# Atmospheric Increments #}
{% for ftype in ["increment.atm.i006.nc", "increment.atm.i009.nc", "increment.atm.i003.nc",
"recentered_increment.atm.i006.nc", "recentered_increment.atm.i009.nc", "recentered_increment.atm.i003.nc"] %}
{% if path_exists(ICSDIR ~ "/" ~ COMOUT_ATMOS_ANALYSIS | relpath(ROTDIR) ~ "/" ~ RUN ~ ".t" ~ current_cycle_HH ~ "z." ~ ftype) %}
{% for ftype in ["abias.txt", "abias_air.txt", "abias_int.txt", "abias_pc.txt"] %}
- ["{{ ICSDIR }}/{{ COMOUT_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ RUN }}.t{{ current_cycle_HH }}z.{{ ftype }}", "{{ COMOUT_ATMOS_ANALYSIS }}"]
{% endif %}
{% endfor %}

{% endif %}
{% if EXP_WARM_START %}

{% for ftype in ["increment.atm.i006.nc", "recentered_increment.atm.i006.nc"] %}
- ["{{ ICSDIR }}/{{ COMOUT_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ RUN }}.t{{ current_cycle_HH }}z.{{ ftype }}", "{{ COMOUT_ATMOS_ANALYSIS }}"]
{% endfor %}

{# Bias Correction Files #}
{% for ftype in ["abias.txt", "abias_air.txt", "abias_int.txt", "abias_pc.txt", "rad_varbc_params.tar"] %}
{% if path_exists(ICSDIR ~ "/" ~ COMOUT_ATMOS_ANALYSIS | relpath(ROTDIR) ~ "/" ~ RUN ~ ".t" ~ current_cycle_HH ~ "z." ~ ftype) %}
{% if DOIAU %}
{% for ftype in ["increment.atm.i003.nc", "increment.atm.i009.nc", "recentered_increment.atm.i003.nc", "recentered_increment.atm.i009.nc"] %}
- ["{{ ICSDIR }}/{{ COMOUT_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ RUN }}.t{{ current_cycle_HH }}z.{{ ftype }}", "{{ COMOUT_ATMOS_ANALYSIS }}"]
{% endfor %}
{% endif %}
{% endfor %}

{% endif %}

{% endif %}

{% endif %}
{# -------------------------------------------------------------------- #}
{# GSI Data Assimilation (Non-JEDI) #}
{# -------------------------------------------------------------------- #}
{% else %}
{% if not DO_JEDIATMVAR %}

{# GSI Analysis Files #}
{% for ftype in ["abias.txt", "abias_air.txt", "abias_int.txt", "abias_pc.txt", "radstat.tar"] %}
- ["{{ ICSDIR }}/{{ COMOUT_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ RUN }}.t{{ current_cycle_HH }}z.{{ ftype }}", "{{ COMOUT_ATMOS_ANALYSIS }}"]
{% endfor %}

{% if EXP_WARM_START %}
{% for ftype in ["increment.atm.i006.nc", "recentered_increment.atm.i006.nc"] %}
- ["{{ ICSDIR }}/{{ COMOUT_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ RUN }}.t{{ current_cycle_HH }}z.{{ ftype }}", "{{ COMOUT_ATMOS_ANALYSIS }}"]
{% endfor %}

{# All GSI Analysis Files #}
{% for ftype in ["abias.txt", "abias_air.txt", "abias_int.txt", "abias_pc.txt",
"increment.atm.i006.nc", "increment.atm.i009.nc", "increment.atm.i003.nc", "radstat.tar",
"recentered_increment.atm.i006.nc", "recentered_increment.atm.i009.nc", "recentered_increment.atm.i003.nc", "rad_varbc_params.tar"] %}
{% if path_exists(ICSDIR ~ "/" ~ COMOUT_ATMOS_ANALYSIS | relpath(ROTDIR) ~ "/" ~ RUN ~ ".t" ~ current_cycle_HH ~ "z." ~ ftype) %}
{% if DOIAU or DOIAU_ENKF %}
Copy link
Contributor

@DavidHuber-NOAA DavidHuber-NOAA Feb 10, 2026

Choose a reason for hiding this comment

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

Maybe it would be worth it to check the RUN in stage_ic.py and set doiau = DOIAU for deterministic and doiau = DOIAU_ENKF for ensemble RUNs. Then you could just check for doiau here. Not sure if that is easier/harder.

{% for ftype in ["increment.atm.i003.nc", "increment.atm.i009.nc",
"recentered_increment.atm.i003.nc", "recentered_increment.atm.i009.nc"] %}
- ["{{ ICSDIR }}/{{ COMOUT_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ RUN }}.t{{ current_cycle_HH }}z.{{ ftype }}", "{{ COMOUT_ATMOS_ANALYSIS }}"]
{% endfor %}

{% endif %}

{% endif %}
{% endfor %}

{% endif %}

Expand All @@ -82,12 +107,18 @@ analysis:
{# -------------------------------------------------------------------- #}
{% if DO_GSISOILDA %}
Copy link
Contributor

Choose a reason for hiding this comment

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

probably another warm start only file


{# Surface Increments #}
{% for ftype in ["increment.sfc.i003.nc", "increment.sfc.i006.nc", "increment.sfc.i009.nc"] %}
{% if path_exists(ICSDIR ~ "/" ~ COMOUT_ATMOS_ANALYSIS | relpath(ROTDIR) ~ "/" ~ RUN ~ ".t" ~ current_cycle_HH ~ "z." ~ ftype) %}
{# Surface Increments #}
{% if EXP_WARM_START %}
- ["{{ ICSDIR }}/{{ COMOUT_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ RUN }}.t{{ current_cycle_HH }}z.increment.sfc.i006.nc", "{{ COMOUT_ATMOS_ANALYSIS }}"]

{% if DOAIU %}
{# Surface Increments #}
{% for ftype in ["increment.sfc.i003.nc", "increment.sfc.i009.nc"] %}
- ["{{ ICSDIR }}/{{ COMOUT_ATMOS_ANALYSIS | relpath(ROTDIR) }}/{{ RUN }}.t{{ current_cycle_HH }}z.{{ ftype }}", "{{ COMOUT_ATMOS_ANALYSIS }}"]
{% endfor %}
{% endif %}
{% endfor %}

{% endif %}

{# Land IAU Increments (Tiled) #}
{% if DO_LAND_IAU %}
Expand All @@ -97,5 +128,3 @@ analysis:
{% endif %}

{% endif %}

{% endif %}
17 changes: 9 additions & 8 deletions parm/stage/atmosphere_warm.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,23 @@ atmosphere_warm:
- "{{ COMOUT_ATMOS_RESTART_PREV }}"
- "{{ COMOUT_ATMOS_RESTART }}"
link_req:
{% if path_exists(ICSDIR ~ "/" ~ COMOUT_ATMOS_RESTART_PREV | relpath(ROTDIR) ~ "/" ~ m_prefix ~ ".atm_stoch.res.nc") %}
- ["{{ ICSDIR }}/{{ COMOUT_ATMOS_RESTART_PREV | relpath(ROTDIR) }}/{{ m_prefix }}.atm_stoch.res.nc", "{{ COMOUT_ATMOS_RESTART_PREV }}"]
{% endif %} # path_exists

{% for ftype in ["coupler.res", "fv_core.res.nc"] %}
- ["{{ ICSDIR }}/{{ COMOUT_ATMOS_RESTART_PREV | relpath(ROTDIR) }}/{{ m_prefix }}.{{ ftype }}", "{{ COMOUT_ATMOS_RESTART_PREV }}"]
{% endfor %}

{% for ntile in range(1, ntiles + 1) %}
{% for ftype in ["fv_core.res", "fv_srf_wnd.res", "fv_tracer.res", "phy_data", "sfc_data"] %}
{% for ftype in ["fv_core.res", "fv_srf_wnd.res", "fv_tracer.res", "phy_data", "sfc_data"] %}
- ["{{ ICSDIR }}/{{ COMOUT_ATMOS_RESTART_PREV | relpath(ROTDIR) }}/{{ m_prefix }}.{{ ftype }}.tile{{ ntile }}.nc", "{{ COMOUT_ATMOS_RESTART_PREV }}"]
{% endfor %} # ftype
{% if DO_CA %}
{% endfor %} # ftype
{% if DO_CA %}
- ["{{ ICSDIR }}/{{ COMOUT_ATMOS_RESTART_PREV | relpath(ROTDIR) }}/{{ m_prefix }}.ca_data.tile{{ ntile }}.nc", "{{ COMOUT_ATMOS_RESTART_PREV }}"]
{% endif %}
{% endif %}
{% endfor %} # ntile

{% for ntile in range(1, ntiles + 1) %}
{% if path_exists(ICSDIR ~ "/" ~ COMOUT_ATMOS_RESTART | relpath(ROTDIR) ~ "/" ~ m_prefix ~ ".sfcanl_data.tile" ~ ntile ~ ".nc") %}
{% if member > 0 %}
- ["{{ ICSDIR }}/{{ COMOUT_ATMOS_RESTART | relpath(ROTDIR) }}/{{ m_prefix }}.sfcanl_data.tile{{ ntile }}.nc", "{{ COMOUT_ATMOS_RESTART }}"]
{% endif %} # path_exists
{% endif %}
{% endfor %} # ntile
19 changes: 9 additions & 10 deletions parm/stage/atmosphere_warm_RT.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,16 @@ atmosphere_warm_RT:
- ["{{ file }}", "{{ increment_destination_path }}"]
{% endfor %}

{% if path_exists(ICSDIR) %}
{% set file = restart_mem_path ~ 'coupler.res' %}
{% set file = restart_mem_path ~ 'coupler.res' %}
- ["{{ file }}", "{{ COMOUT_ATMOS_RESTART_PREV }}"]
{% set file = restart_mem_path ~ 'fv_core.res.nc' %}
{% set file = restart_mem_path ~ 'fv_core.res.nc' %}
- ["{{ file }}", "{{ COMOUT_ATMOS_RESTART_PREV }}"]
{% set ntiles = 6 %}
{% for ftype in ["fv_core.res", "fv_srf_wnd.res", "phy_data", "sfc_data"] %}
# Include restart tile files (e.g., .tile1 to .tile6)
{% for tile in range(1, ntiles + 1) %}
{% set file = restart_mem_path ~ ftype ~ '.tile' ~ tile ~ '.nc' %}

{% set ntiles = 6 %}
{% for ftype in ["fv_core.res", "fv_srf_wnd.res", "phy_data", "sfc_data"] %}
# Include restart tile files (e.g., .tile1 to .tile6)
{% for tile in range(1, ntiles + 1) %}
{% set file = restart_mem_path ~ ftype ~ '.tile' ~ tile ~ '.nc' %}
- ["{{ file }}", "{{ COMOUT_ATMOS_RESTART_PREV }}"]
{% endfor %}
{% endfor %}
{% endif %}
{% endfor %}
12 changes: 8 additions & 4 deletions parm/stage/ocean_RT.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,14 @@ ocean_RT:
{% set file = increment_mem_path %}
- ["{{ file }}", "{{ COMOUT_OCEAN_ANALYSIS }}"]

{% if path_exists(ICSDIR) %}
{% for ftype in ["MOM.res.nc", "MOM.res_1.nc", "MOM.res_2.nc", "MOM.res_3.nc"] %}
{% if DO_OCN %}
Copy link
Contributor

Choose a reason for hiding this comment

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

Same, DO_OCN is implied.

{% set file = restart_mem_path ~ 'MOM.res.nc' %}
- ["{{ file }}", "{{ COMOUT_OCEAN_RESTART_PREV }}"]
{% if OCNRES > 25 %}
{% for ftype in ["MOM.res_1.nc", "MOM.res_2.nc", "MOM.res_3.nc"] %}
# Include base file for restart files
{% set file = restart_mem_path ~ ftype %}
{% set file = restart_mem_path ~ ftype %}
- ["{{ file }}", "{{ COMOUT_OCEAN_RESTART_PREV }}"]
{% endfor %}
{% endfor %}
{% endif %}
{% endif %}
4 changes: 2 additions & 2 deletions parm/stage/ocean_mediator.yaml.j2
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{% if path_exists(ICSDIR ~ "/" ~ COMOUT_MED_RESTART_PREV | relpath(ROTDIR) ~ "/" ~ m_prefix ~ ".ufs.cpld.cpl.r.nc") %}
ocean_mediator:
mkdir:
- "{{ COMOUT_MED_RESTART_PREV }}"
link_req:
{% if DO_OCN and EXP_WARM_START %}
Copy link
Contributor

Choose a reason for hiding this comment

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

Only needs to be EXP_WARM_START as DO_OCN is implied.

- ["{{ ICSDIR }}/{{ COMOUT_MED_RESTART_PREV | relpath(ROTDIR) }}/{{ m_prefix }}.ufs.cpld.cpl.r.nc", "{{ COMOUT_MED_RESTART_PREV }}"]
{% endif %} # path exists
{% endif %}
9 changes: 3 additions & 6 deletions parm/stage/wave.yaml.j2
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
wave:
mkdir:
- "{{ COMOUT_WAVE_RESTART_PREV }}"
link_req:
link_opt:
{% if DO_WAVE %}
Copy link
Contributor

Choose a reason for hiding this comment

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

The DO_WAVE here is implied, so I think you can remove it.

{% set ww3_file = ICSDIR ~ "/" ~ COMOUT_WAVE_RESTART_PREV | relpath(ROTDIR) ~ "/" ~ m_prefix ~ ".restart.ww3" %}
{% if path_exists(ww3_file ~ ".nc") %}
- ["{{ ww3_file }}.nc" , "{{ COMOUT_WAVE_RESTART_PREV }}/{{ m_prefix }}.restart.ww3.nc"]
{% else %}
{% if path_exists(ww3_file) %}
- ["{{ ww3_file }}" , "{{ COMOUT_WAVE_RESTART_PREV }}/{{ m_prefix }}.restart.ww3"]
Comment on lines 7 to 8
Copy link
Contributor

Choose a reason for hiding this comment

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

@AntonMFernando-NOAA I think this is one location where path_exists would be fine to keep. We still need to support the binary and netcdf versions.

What I would suggest is

pseudocode

link_opt:
   if path_exists(ww3_file ~ ".nc")
       - [ ..., ...ww3.nc ]
   else
       - [ ..., ...ww3 ]

In other words, only add one path_exists. If both files are absent, then it should raise a warning.

{% endif %}
{% endif %}
{% endif %}
2 changes: 1 addition & 1 deletion ush/python/pygfs/task/stage_ic.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ def _copy_base_config(self) -> Dict[str, Any]:
'assim_freq', 'current_cycle', 'previous_cycle',
'ROTDIR', 'ICSDIR', 'STAGE_IC_YAML_TMPL', 'DO_JEDIATMVAR',
'OCNRES', 'waveGRD', 'ntiles', 'DOIAU', 'ATMINC_GRID',
'DO_JEDIOCNVAR', 'DO_STARTMEM_FROM_JEDIICE',
'DO_JEDIOCNVAR', 'DO_STARTMEM_FROM_JEDIICE', 'DO_JEDIATMENS',
'DO_WAVE', 'DO_OCN', 'DO_ICE', 'DO_NEST', 'DO_CA', 'DO_AERO_ANL', 'MOM6_INTERP_ICS',
'USE_ATM_ENS_PERTURB_FILES', 'USE_OCN_ENS_PERTURB_FILES', 'DO_GSISOILDA', 'DO_LAND_IAU'
]
Expand Down
Loading