Skip to content

Commit dfc871f

Browse files
AndrewEichmann-NOAACoryMartin-NOAAguillaumevernieres
authored
Completes LETKF task, adds WCDA CI test (#1287)
Completes LETKF task, adds WCDA CI test Mutually dependent on NOAA-EMC/global-workflow#2944 --------- Co-authored-by: Cory Martin <cory.r.martin@noaa.gov> Co-authored-by: Guillaume Vernieres <guillaume.vernieres@noaa.gov>
1 parent 1df1ad2 commit dfc871f

24 files changed

+195
-37
lines changed

mains/gdas.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ int runApp(int argc, char** argv, const std::string traits, const std::string ap
6767
return std::make_unique<oops::HofX4D<Traits, ufo::ObsTraits>>();
6868
};
6969
apps["localensembleda"] = []() {
70-
return std::make_unique<oops::LocalEnsembleDA<fv3jedi::Traits, ufo::ObsTraits>>();
70+
return std::make_unique<oops::LocalEnsembleDA<Traits, ufo::ObsTraits>>();
7171
};
7272
apps["variational"] = []() {
7373
return std::make_unique<oops::Variational<Traits, ufo::ObsTraits>>();

parm/soca/ensda/stage_ens_mem.yaml.j2

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99
# create working directories
1010
######################################
1111
mkdir:
12-
- "{{ DATAenspert }}/ens"
13-
12+
- "{{ ENSPERT_RELPATH }}/ens"
1413
######################################
1514
# copy ensemble background files
1615
######################################
@@ -22,6 +21,6 @@ copy:
2221
'${YMD}':gPDY,
2322
'${HH}':gcyc,
2423
'${MEMDIR}':"mem" + '%03d' % mem} %}
25-
- ["{{ COM_OCEAN_HISTORY_TMPL | replace_tmpl(tmpl_dict) }}/{{ GDUMP_ENS }}.ocean.t{{ gcyc }}z.inst.f006.nc", "{{ DATAenspert }}/ens/ocean.{{ mem }}.nc"]
26-
- ["{{ COM_ICE_HISTORY_TMPL | replace_tmpl(tmpl_dict) }}/{{ GDUMP_ENS }}.ice.t{{ gcyc }}z.inst.f006.nc", "{{ DATAenspert }}/ens/ice.{{ mem }}.nc"]
24+
- ["{{ COM_OCEAN_HISTORY_TMPL | replace_tmpl(tmpl_dict) }}/{{ GDUMP_ENS }}.ocean.t{{ gcyc }}z.inst.f006.nc", "{{ ENSPERT_RELPATH }}/ens/ocean.{{ mem }}.nc"]
25+
- ["{{ COM_ICE_HISTORY_TMPL | replace_tmpl(tmpl_dict) }}/{{ GDUMP_ENS }}.ice.t{{ gcyc }}z.inst.f006.nc", "{{ ENSPERT_RELPATH }}/ens/ice.{{ mem }}.nc"]
2726
{% endfor %}

parm/soca/letkf/letkf.yaml.j2

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
{% set gcyc = previous_cycle | strftime("%H") %}
2+
13
geometry:
24
geom_grid_file: soca_gridspec.nc
35
mom6_input_nml: mom_input.nml
@@ -11,11 +13,11 @@ background:
1113
members from template:
1214
template:
1315
date: '{{ WINDOW_MIDDLE | to_isotime }}'
14-
ocn_filename: "{{ RUN }}.ocean.t{{ gcyc }}z.inst.f006.nc"
15-
ice_filename: "{{ RUN }}.ice.t{{ gcyc }}z.inst.f006.nc"
16+
ocn_filename: "ocean.%mem%.nc"
17+
ice_filename: "ice.%mem%.nc"
1618
read_from_file: 1
17-
basename: ./ens/mem%mem%
18-
state variables: [socn, tocn, ssh, uocn, vocn, cicen]
19+
basename: {{ ENSPERT_RELPATH }}/ens/
20+
state variables: [socn, tocn, ssh, hocn, uocn, vocn, cicen]
1921
pattern: '%mem%'
2022
nmembers: {{ NMEM_ENS }}
2123

@@ -38,32 +40,31 @@ local ensemble DA:
3840
mult: 1.1
3941

4042
output:
41-
datadir: data_output/
43+
datadir: letkf_output/
4244
date: *date
4345
exp: letkf
4446
type: ens
4547

4648
output mean prior:
47-
datadir: data_output/
49+
datadir: letkf_output/
4850
date: *date
49-
exp: letkf
51+
exp: letkf.mean_prior
5052
type: fc
5153

5254
output variance prior:
53-
datadir: data_output/
55+
datadir: letkf_output/
5456
date: *date
55-
exp: letkf
57+
exp: letkf.var_prior
5658
type: fc
5759

5860
output variance posterior:
59-
datadir: data_output/
61+
datadir: letkf_output/
6062
date: *date
61-
exp: letkf
63+
exp: letkf.var_post
6264
type: an
6365

6466
output increment:
65-
datadir: data_output/
67+
datadir: letkf_output/
6668
date: *date
6769
exp: letkf.inc
68-
type: an
69-
70+
type: ens

parm/soca/letkf/letkf_save.yaml.j2

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{% set PDY = current_cycle | to_YMD %}
2+
{% set cyc = current_cycle | strftime("%H") %}
3+
{% set timestr = WINDOW_BEGIN | to_isotime %}
4+
######################################
5+
# save letkf analysis to comout
6+
######################################
7+
8+
copy:
9+
{% for mem in range(1, NMEM_ENS + 1) %}
10+
{% set tmpl_dict = {'${ROTDIR}':ROTDIR,
11+
'${RUN}': GDUMP_ENS,
12+
'${YMD}':PDY,
13+
'${HH}':cyc,
14+
'${MEMDIR}':"mem" + '%03d' % mem} %}
15+
{% set COMOUT_OCEAN_LETKF_MEM = COM_OCEAN_LETKF_TMPL | replace_tmpl(tmpl_dict) %}
16+
{% set COMOUT_ICE_LETKF_MEM = COM_ICE_LETKF_TMPL | replace_tmpl(tmpl_dict) %}
17+
18+
- ["{{ DATA }}/letkf_output/ocn.letkf.ens.{{ mem }}.{{ timestr }}.PT3H.nc", "{{ COMOUT_OCEAN_LETKF_MEM }}/{{ GDUMP_ENS }}.ocean.t{{ cyc }}z.analysis.nc"]
19+
- ["{{ DATA }}/letkf_output/ice.letkf.ens.{{ mem }}.{{ timestr }}.PT3H.nc", "{{ COMOUT_ICE_LETKF_MEM }}/{{ GDUMP_ENS }}.ice.t{{ cyc }}z.analysis.nc"]
20+
{% endfor %}

parm/soca/letkf/letkf_stage.yaml.j2

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,30 @@
1-
######################################
2-
# create working directories
1+
{% set PDY = current_cycle | to_YMD %}
2+
{% set cyc = current_cycle | strftime("%H") %}
3+
{% set gcyc = previous_cycle | strftime("%H") %}
34
######################################
45
mkdir:
5-
- "{{ DATA }}/Data"
6+
- "{{ DATA }}/letkf_output"
67
- "{{ DATA }}/obs"
7-
copy:
8+
- "{{ DATA }}/diags"
9+
- "{{ COMOUT_OCEAN_LETKF }}"
10+
- "{{ COMOUT_ICE_LETKF }}"
11+
######################################
12+
# make comout directories
813
######################################
9-
# copy mom input template
14+
{% for mem in range(1, NMEM_ENS + 1) %}
15+
{% set tmpl_dict = {'${ROTDIR}':ROTDIR,
16+
'${RUN}':GDUMP_ENS,
17+
'${YMD}':PDY,
18+
'${HH}':cyc,
19+
'${MEMDIR}':"mem" + '%03d' % mem} %}
20+
- "{{ COM_OCEAN_LETKF_TMPL | replace_tmpl(tmpl_dict) }}"
21+
- "{{ COM_ICE_LETKF_TMPL | replace_tmpl(tmpl_dict) }}"
22+
{% endfor %}
1023
######################################
24+
# copy mom input template and det bkg
25+
######################################
26+
copy:
1127
- ["{{ PARMgfs }}/gdas/soca/fms/input.nml", "{{ DATA }}/mom_input.nml.tmpl"]
28+
- ["{{ PARMgfs }}/gdas/soca/fields_metadata.yaml", "{{ DATA }}/fields_metadata.yaml"]
29+
- ["{{ COMIN_OCEAN_HISTORY_PREV }}/gdas.ocean.t{{ gcyc }}z.inst.f009.nc", "{{ DATA }}/INPUT/MOM.res.nc"]
30+
- ["{{ COMIN_ICE_HISTORY_PREV }}/gdas.ice.t{{ gcyc }}z.inst.f009.nc", "{{ DATA }}/INPUT/cice.res.nc"]

parm/soca/obs/config/adt_rads_all.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,13 @@ obs operator:
1717
name: ADT
1818
obs error:
1919
covariance model: diagonal
20+
obs localizations:
21+
- localization method: Rossby
22+
base value: 100.0e3
23+
rossby mult: 1.0
24+
min grid mult: 2.0
25+
min value: 200.0e3
26+
max value: 900.0e3
2027
obs filters:
2128
- filter: Domain Check
2229
where:

parm/soca/obs/config/icec_amsr2_north.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,10 @@ obs filters:
4343
where:
4444
- variable: {name: GeoVaLs/distance_from_coast}
4545
minvalue: 100e3
46+
obs localizations:
47+
- localization method: Rossby
48+
base value: 100.0e3
49+
rossby mult: 1.0
50+
min grid mult: 2.0
51+
min value: 200.0e3
52+
max value: 900.0e3

parm/soca/obs/config/icec_amsr2_south.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,10 @@ obs filters:
4343
where:
4444
- variable: {name: GeoVaLs/distance_from_coast}
4545
minvalue: 100e3
46+
obs localizations:
47+
- localization method: Rossby
48+
base value: 100.0e3
49+
rossby mult: 1.0
50+
min grid mult: 2.0
51+
min value: 200.0e3
52+
max value: 900.0e3

parm/soca/obs/config/insitu_profile_argo.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -625,3 +625,10 @@ obs filters:
625625
- ObsError/salinity
626626
coefs:
627627
- 1000.0
628+
obs localizations:
629+
- localization method: Rossby
630+
base value: 100.0e3
631+
rossby mult: 1.0
632+
min grid mult: 2.0
633+
min value: 200.0e3
634+
max value: 900.0e3

parm/soca/obs/config/sst_abi_g16_l3c.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,10 @@ obs filters:
5454
- ObsError/seaSurfaceTemperature
5555
coefs:
5656
- 1.0
57+
obs localizations:
58+
- localization method: Rossby
59+
base value: 100.0e3
60+
rossby mult: 1.0
61+
min grid mult: 2.0
62+
min value: 200.0e3
63+
max value: 900.0e3

parm/soca/obs/config/sst_abi_g17_l3c.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,10 @@ obs filters:
5454
- ObsError/seaSurfaceTemperature
5555
coefs:
5656
- 1.0
57+
obs localizations:
58+
- localization method: Rossby
59+
base value: 100.0e3
60+
rossby mult: 1.0
61+
min grid mult: 2.0
62+
min value: 200.0e3
63+
max value: 900.0e3

parm/soca/obs/config/sst_ahi_h08_l3c.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,10 @@ obs filters:
5454
- ObsError/seaSurfaceTemperature
5555
coefs:
5656
- 1.0
57+
obs localizations:
58+
- localization method: Rossby
59+
base value: 100.0e3
60+
rossby mult: 1.0
61+
min grid mult: 2.0
62+
min value: 200.0e3
63+
max value: 900.0e3

parm/soca/obs/config/sst_avhrr_ma_l3u.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,10 @@ obs filters:
5454
- ObsError/seaSurfaceTemperature
5555
coefs:
5656
- 1.0
57+
obs localizations:
58+
- localization method: Rossby
59+
base value: 100.0e3
60+
rossby mult: 1.0
61+
min grid mult: 2.0
62+
min value: 200.0e3
63+
max value: 900.0e3

parm/soca/obs/config/sst_avhrr_mb_l3u.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,10 @@ obs filters:
5454
- ObsError/seaSurfaceTemperature
5555
coefs:
5656
- 1.0
57+
obs localizations:
58+
- localization method: Rossby
59+
base value: 100.0e3
60+
rossby mult: 1.0
61+
min grid mult: 2.0
62+
min value: 200.0e3
63+
max value: 900.0e3

parm/soca/obs/config/sst_avhrr_mc_l3u.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,10 @@ obs filters:
5454
- ObsError/seaSurfaceTemperature
5555
coefs:
5656
- 1.0
57+
obs localizations:
58+
- localization method: Rossby
59+
base value: 100.0e3
60+
rossby mult: 1.0
61+
min grid mult: 2.0
62+
min value: 200.0e3
63+
max value: 900.0e3

parm/soca/obs/config/sst_viirs_n20_l3u.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,10 @@ obs filters:
5454
- ObsError/seaSurfaceTemperature
5555
coefs:
5656
- 1.0
57+
obs localizations:
58+
- localization method: Rossby
59+
base value: 100.0e3
60+
rossby mult: 1.0
61+
min grid mult: 2.0
62+
min value: 200.0e3
63+
max value: 900.0e3

parm/soca/obs/config/sst_viirs_npp_l3u.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,10 @@ obs filters:
5454
- ObsError/seaSurfaceTemperature
5555
coefs:
5656
- 1.0
57+
obs localizations:
58+
- localization method: Rossby
59+
base value: 100.0e3
60+
rossby mult: 1.0
61+
min grid mult: 2.0
62+
min value: 200.0e3
63+
max value: 900.0e3

parm/soca/soca_ens_bkg_stage.yaml.j2

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ copy:
1818
# define variables
1919
# Declare a dict of search and replace terms to GDUMP on each template
2020
{% set tmpl_dict = {'ROTDIR':ROTDIR,
21-
'RUN': RUN,
21+
'RUN': GDUMP_ENS,
2222
'YMD':gPDY,
2323
'HH':gcyc,
2424
'MEMDIR':"mem" + '%03d' % mem} %}
@@ -35,6 +35,6 @@ copy:
3535
{% set com_prev_ocn.COMIN_OCEAN_HISTORY_MEM = com_prev_ocn.COMIN_OCEAN_HISTORY_MEM.replace(search_term, replace_term) %}
3636
{% set com_prev_ice.COMIN_ICE_HISTORY_MEM = com_prev_ice.COMIN_ICE_HISTORY_MEM.replace(search_term, replace_term) %}
3737
{% endfor %}
38-
- ["{{ com_prev_ocn.COMIN_OCEAN_HISTORY_MEM }}/{{ RUN }}.ocean.t{{ gcyc }}z.inst.f006.nc", "{{ DATAens }}/ens/mem{{ '%03d' % mem }}/{{ RUN }}.ocean.t{{ gcyc }}z.inst.f006.nc"]
39-
- ["{{ com_prev_ice.COMIN_ICE_HISTORY_MEM }}/{{ RUN }}.ice.t{{ gcyc }}z.inst.f006.nc", "{{ DATAens }}/ens/mem{{ '%03d' % mem }}/{{ RUN }}.ice.t{{ gcyc }}z.inst.f006.nc"]
38+
- ["{{ com_prev_ocn.COMIN_OCEAN_HISTORY_MEM }}/{{ GDUMP_ENS }}.ocean.t{{ gcyc }}z.inst.f006.nc", "{{ DATAens }}/ens/mem{{ '%03d' % mem }}/{{ GDUMP_ENS }}.ocean.t{{ gcyc }}z.inst.f006.nc"]
39+
- ["{{ com_prev_ice.COMIN_ICE_HISTORY_MEM }}/{{ GDUMP_ENS }}.ice.t{{ gcyc }}z.inst.f006.nc", "{{ DATAens }}/ens/mem{{ '%03d' % mem }}/{{ GDUMP_ENS }}.ice.t{{ gcyc }}z.inst.f006.nc"]
4040
{% endfor %}

parm/soca/soca_fix_stage_025.yaml.j2

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# TODO(AFE): make resolution dependent
21
mkdir:
32
- "{{ DATA }}/INPUT"
43
######################################

parm/soca/soca_fix_stage_100.yaml.j2

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# TODO(AFE): make resolution dependent
21
mkdir:
32
- "{{ DATA }}/INPUT"
43
######################################

parm/soca/soca_fix_stage_500.yaml.j2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# TODO(AFE): make resolution dependent
21
mkdir:
32
- "{{ DATA }}/INPUT"
43
######################################
@@ -9,6 +8,7 @@ copy:
98
- ["{{ SOCA_INPUT_FIX_DIR }}/field_table", "{{ DATA }}/field_table"]
109
- ["{{ SOCA_INPUT_FIX_DIR }}/diag_table", "{{ DATA }}/diag_table"]
1110
- ["{{ SOCA_INPUT_FIX_DIR }}/MOM_input", "{{ DATA }}/MOM_input"]
11+
- ["{{ SOCA_INPUT_FIX_DIR }}/obsop_name_map.yaml", "{{ DATA }}/obsop_name_map.yaml"]
1212
- ["{{ SOCA_INPUT_FIX_DIR }}/INPUT/grid_spec.nc", "{{ DATA }}/INPUT/grid_spec.nc"]
1313
- ["{{ SOCA_INPUT_FIX_DIR }}/INPUT/hycom1_25.nc", "{{ DATA }}/INPUT/hycom1_25.nc"]
1414
- ["{{ SOCA_INPUT_FIX_DIR }}/INPUT/layer_coord25.nc", "{{ DATA }}/INPUT/layer_coord25.nc"]

test/gw-ci/CMakeLists.txt

Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,39 @@ function(add_cycling_tests pslot YAML_PATH HOMEgfs RUNTESTS PROJECT_SOURCE_DIR T
1919
list(GET DATES_LIST 1 FULL_CYCLE)
2020

2121
# stage IC's
22-
message(STATUS "staging the 1/2 cycle IC's for ${test_name} ctest")
22+
message(STATUS "staging the 1/2 cycle IC's for ${pslot} ctest")
2323
add_test(NAME ${test_name}_gdas_stage_ic_${HALF_CYCLE}
2424
COMMAND /bin/bash -c "${PROJECT_SOURCE_DIR}/test/gw-ci/run_exp.sh ${pslot} gdas_stage_ic ${HALF_CYCLE}"
2525
WORKING_DIRECTORY ${RUNTESTS})
2626
set_tests_properties(${test_name}_gdas_stage_ic_${HALF_CYCLE} PROPERTIES LABELS "manual")
2727

28+
# stage ensemble ics
29+
if (letkf)
30+
message(STATUS "preparing enkfgdas_stage_ic for ${pslot} ctest")
31+
add_test(NAME ${test_name}_enkfgdas_stage_ic_${HALF_CYCLE}
32+
COMMAND /bin/bash -c "${PROJECT_SOURCE_DIR}/test/gw-ci/run_exp.sh ${pslot} enkfgdas_stage_ic ${HALF_CYCLE}"
33+
WORKING_DIRECTORY ${RUNTESTS})
34+
set_tests_properties(${test_name}_enkfgdas_stage_ic_${HALF_CYCLE} PROPERTIES LABELS "manual")
35+
endif()
36+
2837
# 1/2 cycle gdas_fcst
2938
message(STATUS "preparing 1/2 cycle gdas_fcst for ${pslot} ctest")
30-
add_test(NAME ${test_name}_gdas_fcst_${HALF_CYCLE}
39+
add_test(NAME ${test_name}_gdas_fcst_seg0_${HALF_CYCLE}
3140
COMMAND /bin/bash -c "${PROJECT_SOURCE_DIR}/test/gw-ci/run_exp.sh ${pslot} gdas_fcst_seg0 ${HALF_CYCLE}"
3241
WORKING_DIRECTORY ${RUNTESTS})
33-
set_tests_properties(${test_name}_gdas_fcst_${HALF_CYCLE} PROPERTIES LABELS "manual")
42+
set_tests_properties(${test_name}_gdas_fcst_seg0_${HALF_CYCLE} PROPERTIES LABELS "manual")
43+
44+
# 1/2 cycle enkfgdas_fcst
45+
if (letkf)
46+
set(ENS_MEMS "mem001" "mem002" "mem003")
47+
foreach(ENS_MEM ${ENS_MEMS})
48+
message(STATUS "preparing 1/2 cycle enkfgdas_fcst_${ENS_MEM} for ${pslot} ctest")
49+
add_test(NAME ${test_name}_enkfgdas_fcst_${ENS_MEM}_${HALF_CYCLE}
50+
COMMAND /bin/bash -c "${PROJECT_SOURCE_DIR}/test/gw-ci/run_exp.sh ${pslot} enkfgdas_fcst_${ENS_MEM} ${HALF_CYCLE}"
51+
WORKING_DIRECTORY ${RUNTESTS})
52+
set_tests_properties(${test_name}_enkfgdas_fcst_${ENS_MEM}_${HALF_CYCLE} PROPERTIES LABELS "manual")
53+
endforeach()
54+
endif()
3455

3556
# Select the list of tasks to run for the full cycle
3657
message(STATUS "Tasks ${TASK_LIST}")
@@ -62,6 +83,24 @@ if (WORKFLOW_TESTS)
6283
"gdas_marineanlfinal"
6384
)
6485
add_cycling_tests(${pslot} ${YAML_PATH} ${HOMEgfs} ${RUNTESTS} ${PROJECT_SOURCE_DIR} "${TASK_LIST}")
86+
87+
# WCDA, low-res, ensemble da
88+
# -------------
89+
set(pslot "WCDA-hyb-C48mx500")
90+
set(letkf TRUE)
91+
set(YAML_PATH ${HOMEgfs}/ci/cases/pr/C48mx500_hybAOWCDA.yaml)
92+
set(TASK_LIST
93+
"gdas_prepoceanobs"
94+
"gdas_marineanlletkf"
95+
# TODO(AFE) waiting until these are working for hybrid
96+
# "gdas_marinebmat"
97+
# "gdas_marineanlinit"
98+
# "gdas_marineanlvar"
99+
# "gdas_marineanlchkpt"
100+
# "gdas_marineanlfinal"
101+
)
102+
add_cycling_tests(${pslot} ${YAML_PATH} ${HOMEgfs} ${RUNTESTS} ${PROJECT_SOURCE_DIR} "${TASK_LIST}")
103+
set(letkf FALSE)
65104
endif()
66105

67106
option(RUN_GW_CI "Enable the global-workflow CI tests" OFF)

0 commit comments

Comments
 (0)