Skip to content

Commit

Permalink
Add CCPP to UFS-S2S-model
Browse files Browse the repository at this point in the history
This commit contains the following:

* CCPP is added to the s2s coupled system

* Includes PR NOAA-EMC/fv3atm#86 (Regain bit-for-bit identical results between IPD and CCPP for coupled model runs)

* Regression tests are added for IPD REPRO, CCPP REPRO, CCPP PROD 

* For warm start tests, mediator files are now located in RESTART directories in the baseline directories

* Python script create_baseline.py is added for creating baseline directories iteratively from rtgen.PID directories

Authored-by: @climbfuji 
Co-authored-by: Linlin.Pan <[email protected]>
Co-authored-by: panll <[email protected]>
  • Loading branch information
3 people authored Apr 2, 2020
1 parent a59b6cf commit f53e7ce
Show file tree
Hide file tree
Showing 42 changed files with 41,717 additions and 2,460 deletions.
74 changes: 73 additions & 1 deletion compsets/all.input
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
load 'fv3mom6cice5.input'
load 'fv3mom6cice5_ccpp.input'

########################################################################
#Run the standard Regression tests

# Run the standard Regression tests - IPD PROD

run cpld_fv3_mom6_cice_cold_atm_flux @ fv3, coupledapp, cold
run cpld_fv3_384_mom6_cice_cold_atm_flux @ fv3, coupledapp, cold384
Expand All @@ -24,6 +26,76 @@ run cpld_fv3_384_mom6_cice_ww3_1d_bmark_rt @ fv3, coupledapp, warm384, physics,
#run cpld_fv3_mom6_cice_1d_gfdlmprad_gwd @ fv3, coupledapp, warm, physics
#run cpld_fv3_mom6_cice_1d_gfdlmprad_noahmp @ fv3, coupledapp, warm, physics

# Run the standard Regression tests - IPD REPRO

run cpld_fv3_mom6_cice_cold_atm_flux_repro @ fv3, coupledapp, cold
run cpld_fv3_384_mom6_cice_cold_atm_flux_repro @ fv3, coupledapp, cold384

run cpld_fv3_mom6_cice_2d_atm_flux_repro @ fv3, coupledapp, warm
run cpld_fv3_384_mom6_cice_2d_atm_flux_repro @ fv3, coupledapp, warm384

run cpld_fv3_mom6_cice_2d_2threads_repro @ fv3, coupledapp, warm
run cpld_fv3_mom6_cice_2d_decomp_repro @ fv3, coupledapp, warm

run cpld_fv3_mom6_cice_cold_satmedmf_repro @ fv3, coupledapp, cold, physics
run cpld_fv3_mom6_cice_1d_satmedmf_repro @ fv3, coupledapp, warm, physics

run cpld_fv3_384_mom6_cice_cold_bmark_rt_repro @ fv3, coupledapp, coldBM, physics, bm
run cpld_fv3_384_mom6_cice_1d_bmark_rt_repro @ fv3, coupledapp, warm384, physics, bm

run cpld_fv3_384_mom6_cice_ww3_cold_bmark_rt_repro @ fv3, coupledapp, coldBM, physics, bm, ww3
run cpld_fv3_384_mom6_cice_ww3_1d_bmark_rt_repro @ fv3, coupledapp, warm384, physics, bm, ww3

#run cpld_fv3_mom6_cice_1d_gfdlmprad_gwd_repro @ fv3, coupledapp, warm, physics
#run cpld_fv3_mom6_cice_1d_gfdlmprad_noahmp_repro @ fv3, coupledapp, warm, physics

# Run the standard Regression tests - CCPP REPRO (use IPD REPRO baseline)
# comment out these tests before creating a new baseline!

run cpld_fv3_ccpp_mom6_cice_cold_atm_flux_repro @ fv3, coupledapp, cold
run cpld_fv3_ccpp_384_mom6_cice_cold_atm_flux_repro @ fv3, coupledapp, cold384

run cpld_fv3_ccpp_mom6_cice_2d_atm_flux_repro @ fv3, coupledapp, warm
run cpld_fv3_ccpp_384_mom6_cice_2d_atm_flux_repro @ fv3, coupledapp, warm384

run cpld_fv3_ccpp_mom6_cice_2d_2threads_repro @ fv3, coupledapp, warm
run cpld_fv3_ccpp_mom6_cice_2d_decomp_repro @ fv3, coupledapp, warm

run cpld_fv3_ccpp_mom6_cice_cold_satmedmf_repro @ fv3, coupledapp, cold, physics
run cpld_fv3_ccpp_mom6_cice_1d_satmedmf_repro @ fv3, coupledapp, warm, physics

run cpld_fv3_ccpp_384_mom6_cice_cold_bmark_rt_repro @ fv3, coupledapp, coldBM, physics, bm
run cpld_fv3_ccpp_384_mom6_cice_1d_bmark_rt_repro @ fv3, coupledapp, warm384, physics, bm

run cpld_fv3_ccpp_384_mom6_cice_ww3_cold_bmark_rt_repro @ fv3, coupledapp, coldBM, physics, bm, ww3
run cpld_fv3_ccpp_384_mom6_cice_ww3_1d_bmark_rt_repro @ fv3, coupledapp, warm384, physics, bm, ww3

#run cpld_fv3_ccpp_mom6_cice_1d_gfdlmprad_gwd_repro @ fv3, coupledapp, warm, physics
#run cpld_fv3_ccpp_mom6_cice_1d_gfdlmprad_noahmp_repro @ fv3, coupledapp, warm, physics

# Run the standard Regression tests - CCPP PROD

run cpld_fv3_ccpp_mom6_cice_cold_atm_flux @ fv3, coupledapp, cold
run cpld_fv3_ccpp_384_mom6_cice_cold_atm_flux @ fv3, coupledapp, cold384

run cpld_fv3_ccpp_mom6_cice_2d_atm_flux @ fv3, coupledapp, warm
run cpld_fv3_ccpp_384_mom6_cice_2d_atm_flux @ fv3, coupledapp, warm384

run cpld_fv3_ccpp_mom6_cice_2d_2threads @ fv3, coupledapp, warm
run cpld_fv3_ccpp_mom6_cice_2d_decomp @ fv3, coupledapp, warm

run cpld_fv3_ccpp_mom6_cice_cold_satmedmf @ fv3, coupledapp, cold, physics
run cpld_fv3_ccpp_mom6_cice_1d_satmedmf @ fv3, coupledapp, warm, physics

run cpld_fv3_ccpp_384_mom6_cice_cold_bmark_rt @ fv3, coupledapp, coldBM, physics, bm
run cpld_fv3_ccpp_384_mom6_cice_1d_bmark_rt @ fv3, coupledapp, warm384, physics, bm

run cpld_fv3_ccpp_384_mom6_cice_ww3_cold_bmark_rt @ fv3, coupledapp, coldBM, physics, bm, ww3
run cpld_fv3_ccpp_384_mom6_cice_ww3_1d_bmark_rt @ fv3, coupledapp, warm384, physics, bm, ww3

#run cpld_fv3_ccpp_mom6_cice_1d_gfdlmprad_gwd @ fv3, coupledapp, warm, physics
#run cpld_fv3_ccpp_mom6_cice_1d_gfdlmprad_noahmp @ fv3, coupledapp, warm, physics

########################################################################
#Run the Benchmark-like inputs for a single date
#These can be run separately from the baseline test cases
Expand Down
107 changes: 107 additions & 0 deletions compsets/benchmarkRT_ccpp_cold.input
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
########################################################################

test cpld_fv3_ccpp_384_mom6_cice_cold_bmark_rt: fv3_ccpp_mom6_cice.exe {
use cpld_fv3_ccpp_mom6_cice_cold_atm_flux
use plat%default_cpl_benchmark

ATMRES='384'
TEST_DESCR="Fully coupled FV3-CCPP-MOM6-CICE system - cold 384"
CNTL_NAME="RT-Baselines_cold_bmrt_ccpp"
CNTLMED="@[plat%BASELINE]/MEDIATOR_bmrt_ccpp"

DT_ATMOS='450'
NPX='385'
NPY='385'
IMO='1536'
JMO='768'
FNALBC="'global_snowfree_albedo.bosu.t766.1536.768.rg.grb',"
FNVETC="'global_vegtype.igbp.t766.1536.768.rg.grb',"
FNSOTC="'global_soiltype.statsgo.t766.1536.768.rg.grb',"
FNSMCC="'global_soilmgldas.statsgo.t766.1536.768.grb',"
FNABSC="'global_mxsnoalb.uariz.t766.1536.768.rg.grb',"

FV3_mosaic="C@[ATMRES]"

# inputs and fixed files for benchmark runs to match workflow
INPUT_NML="input.benchmark_ccpp.nml.IN"
SUITE_NAME='FV3_GFS_v15p2_coupled'
FIELD_TABLE="field_table.gfdlmp"
OZONE_data="@[FV3_input_data]/ozprdlos_2015_new_sbuvO3_tclm15_nuchem.f77"
CO2_data="@[plat%INPUTS]/FV3_input_bm2/INPUT"

# - set date YYYYMMDDHH
SYEAR='2013'
SMONTH='04'
SDAY='01'
SHOUR='00'
CDATE="@[SYEAR]@[SMONTH]@[SDAY]@[SHOUR]"

# - set run type for CICE in ice_in
RUNID='cpcice'

# - set initialization type for MOM6
MOM6_RESTART_SETTING = 'r'

# set locations of ICs
BM_IC="@[plat%INPUTS]/BM_IC/@[CDATE]"
FV3_IC="@[BM_IC]/gfs/C384/INPUT"
MOM6_IC="@[BM_IC]/mom6_da"
CICE5_IC="@[BM_IC]/cpc"

spawn execute {
{"@[build%target]", ranks="@[TASKS]", threads="@[THRD]", ppn="@[TPN]" }
}
}

test cpld_fv3_ccpp_384_mom6_cice_cold_bmark_rt_repro: fv3_ccpp_mom6_cice_repro.exe {
use cpld_fv3_ccpp_mom6_cice_cold_atm_flux_repro
use plat%default_cpl_benchmark

ATMRES='384'
TEST_DESCR="Fully coupled FV3-CCPP-MOM6-CICE system - cold 384 - repro"
CNTL_NAME="RT-Baselines_cold_bmrt_repro"
CNTLMED="@[plat%BASELINE]/MEDIATOR_bmrt_repro"

DT_ATMOS='450'
NPX='385'
NPY='385'
IMO='1536'
JMO='768'
FNALBC="'global_snowfree_albedo.bosu.t766.1536.768.rg.grb',"
FNVETC="'global_vegtype.igbp.t766.1536.768.rg.grb',"
FNSOTC="'global_soiltype.statsgo.t766.1536.768.rg.grb',"
FNSMCC="'global_soilmgldas.statsgo.t766.1536.768.grb',"
FNABSC="'global_mxsnoalb.uariz.t766.1536.768.rg.grb',"

FV3_mosaic="C@[ATMRES]"

# inputs and fixed files for benchmark runs to match workflow
INPUT_NML="input.benchmark_ccpp.nml.IN"
SUITE_NAME='FV3_GFS_v15p2_coupled'
FIELD_TABLE="field_table.gfdlmp"
OZONE_data="@[FV3_input_data]/ozprdlos_2015_new_sbuvO3_tclm15_nuchem.f77"
CO2_data="@[plat%INPUTS]/FV3_input_bm2/INPUT"

# - set date YYYYMMDDHH
SYEAR='2013'
SMONTH='04'
SDAY='01'
SHOUR='00'
CDATE="@[SYEAR]@[SMONTH]@[SDAY]@[SHOUR]"

# - set run type for CICE in ice_in
RUNID='cpcice'

# - set initialization type for MOM6
MOM6_RESTART_SETTING = 'r'

# set locations of ICs
BM_IC="@[plat%INPUTS]/BM_IC/@[CDATE]"
FV3_IC="@[BM_IC]/gfs/C384/INPUT"
MOM6_IC="@[BM_IC]/mom6_da"
CICE5_IC="@[BM_IC]/cpc"

spawn execute {
{"@[build%target]", ranks="@[TASKS]", threads="@[THRD]", ppn="@[TPN]" }
}
}
Loading

0 comments on commit f53e7ce

Please sign in to comment.