diff --git a/CMakeLists.txt b/CMakeLists.txt index 38f96aa6d2..9c9c0878cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,7 +16,7 @@ list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMakeModules/Modules) ############################################################################### # Valid applications and choices -list(APPEND VALID_APPS ATM ATMAERO ATMAQ ATMW ATMWM ATML ATMF LND LND-LM4 S2S S2SL S2SA S2SW S2SWA S2SWL S2SWAL ATM_DS2S ATM_DS2S-PCICE HAFS HAFSW HAFS-MOM6 HAFS-MOM6W HAFS-ALL NG-GODAS CSTLA CSTLPA CSTLAW CSTLPAW CSTLF CSTLFW CSTLR CSTLRW CSTLRC CSTLRCW CSTLS CSTLPS CSTLSW CSTLPSW CSTLP CSTLW CSTL-ALL) +list(APPEND VALID_APPS ATM ATMAERO ATMAQ ATMW ATMWM ATML ATMF LND LND-LM4 S2S S2SL S2SA S2SW S2SWA S2SWL S2SWAL ATM_DS2S ATM_DS2S-PCICE HAFS HAFSW HAFS-MOM6 HAFS-MOM6W HAFS-ALL NG-GODAS CSTLA CSTLC CSTLF CSTLS CSTLSC CSTLSW CSTLR CSTLW CSTL-ALL) set(APP NONE CACHE BOOL "Application Name") if(NOT (APP IN_LIST VALID_APPS)) message(FATAL_ERROR "${APP} is not a valid application.\nValid Applications are: ${VALID_APPS}") diff --git a/cmake/configure_apps.cmake b/cmake/configure_apps.cmake index 209074a4d2..621fb66e3b 100644 --- a/cmake/configure_apps.cmake +++ b/cmake/configure_apps.cmake @@ -128,30 +128,34 @@ if(APP MATCHES "^(LND-LM4)$") set(FMS ON CACHE BOOL "Enable FMS" FORCE) endif() -if(APP MATCHES "^(CSTLA|CSTLPA|CSTLAW|CSTLPAW|CSTLF|CSTLFW|CSTLR|CSTLRW|CSTLRC|CSTLRCW|CSTLS|CSTLPS|CSTLSW|CSTLPSW|CSTLP|CSTLW|CSTL-ALL)$") +if(APP MATCHES "^(CSTLA|CSTLC|CSTLF|CSTLS|CSTLSC|CSTLSW|CSTLR|CSTLW|CSTL-ALL)$") set(CMEPS ON CACHE BOOL "Enable CMEPS" FORCE) set(CDEPS ON CACHE BOOL "Enable CDEPS" FORCE) - if(APP MATCHES "^(CSTLA|CSTLPA|CSTLAW|CSTLPAW|CSTL-ALL)$") + if(APP MATCHES "^(CSTLA|CSTL-ALL)$") set(ADCIRC ON CACHE BOOL "Enable ADCIRC" FORCE) message("Configuring UFS app in COASTAL with ADCIRC model") endif() - if(APP MATCHES "^(CSTLF|CSTLFW|CSTL-ALL)$") + if(APP MATCHES "^(CSTLC|CSTL-ALL)$") + set(CICE6 ON CACHE BOOL "Enable CICE6" FORCE) + message("Configuring UFS app in COASTAL with CICE6 model") + endif() + if(APP MATCHES "^(CSTLF|CSTL-ALL)$") set(FVCOM ON CACHE BOOL "Enable FVCOM" FORCE) message("Configuring UFS app in COASTAL with FVCOM model") endif() - if(APP MATCHES "^(CSTLR|CSTLRW|CSTLRC|CSTLRCW|CSTL-ALL)$") + if(APP MATCHES "^(CSTLR|CSTL-ALL)$") set(ROMS ON CACHE BOOL "Enable ROMS" FORCE) message("Configuring UFS app in COASTAL with ROMS model") endif() - if(APP MATCHES "^(CSTLS|CSTLPS|CSTLSW|CSTLPSW|CSTL-ALL)$") + if(APP MATCHES "^(CSTLS|CSTLSC|CSTLSW|CSTL-ALL)$") set(SCHISM ON CACHE BOOL "Enable SCHISM" FORCE) message("Configuring UFS app in COASTAL with SCHISM model") endif() - if(APP MATCHES "^(CSTLP|CSTLPA|CSTLPAW|CSTLPS|CSTLPSW|CSTL-ALL)$") + if(APP MATCHES "^(CSTLP|CSTL-ALL)$") set(PAHM ON CACHE BOOL "Enable PAHM" FORCE) message("Configuring UFS app in COASTAL with PAHM model") endif() - if(APP MATCHES "^(CSTLW|CSTLAW|CSTLPAW|CSTLFW|CSTLSW|CSTLRW|CSTLRCW|CSTLSW|CSTLPSW|CSTL-ALL)$") + if(APP MATCHES "^(CSTLW|CSTL-ALL)$") set(WW3 ON CACHE BOOL "Enable WAVEWATCH III" FORCE) message("Configuring UFS app in HAFS with Waves mode") endif() diff --git a/tests/default_vars.sh b/tests/default_vars.sh index d56acdef40..6eac6d9ea8 100644 --- a/tests/default_vars.sh +++ b/tests/default_vars.sh @@ -1742,6 +1742,7 @@ export_hafs_docn_cdeps () export CMEPS_PIO_ROOT=-99 export DOCN_IN_CONFIGURE=docn_in.IN export DOCN_STREAM_CONFIGURE=hafs_docn.streams.IN + export EXPORT_ALL=.false. } export_hafs_regional () diff --git a/tests/fv3_conf/coastal_cice_run.IN b/tests/fv3_conf/coastal_cice_run.IN new file mode 100644 index 0000000000..8efa1f9e96 --- /dev/null +++ b/tests/fv3_conf/coastal_cice_run.IN @@ -0,0 +1,16 @@ +if [ ! -d "INPUT" ]; then + mkdir INPUT +fi +if [ ! -d "OUTPUT" ]; then + mkdir OUTPUT +fi +if [ ! -d "RESTART" ]; then + mkdir RESTART +fi +if [ ! -d "history" ]; then + mkdir history +fi + +cp -r @[INPUTDATA_ROOT]/CICE/$HURR/$CPL_CONF/Grid INPUT/. +cp -r @[INPUTDATA_ROOT]/CICE/$HURR/$CPL_CONF/Boundary INPUT/. +cp @[INPUTDATA_ROOT]/CICE/$HURR/$CPL_CONF/ice_in . diff --git a/tests/fv3_conf/coastal_datm.IN b/tests/fv3_conf/coastal_datm.IN new file mode 100644 index 0000000000..7a83ac1df3 --- /dev/null +++ b/tests/fv3_conf/coastal_datm.IN @@ -0,0 +1,7 @@ +if [ ! -d "INPUT" ]; then + mkdir INPUT +fi + +cd INPUT +rsync -arv @[INPUTDATA_ROOT]/DATM_input_data/$HURR/* . +cd - diff --git a/tests/fv3_conf/coastal_datm_atmmesh.IN b/tests/fv3_conf/coastal_datm_atmmesh.IN deleted file mode 100644 index 5761dd64fc..0000000000 --- a/tests/fv3_conf/coastal_datm_atmmesh.IN +++ /dev/null @@ -1,7 +0,0 @@ -if [ ! -d "INPUT" ]; then - mkdir INPUT -fi - -cd INPUT -rsync -arv @[INPUTDATA_ROOT]/DATM_ATMMESH_input_data/$HURR/* . -cd - diff --git a/tests/fv3_conf/coastal_docn.IN b/tests/fv3_conf/coastal_docn.IN new file mode 100644 index 0000000000..cf6b501809 --- /dev/null +++ b/tests/fv3_conf/coastal_docn.IN @@ -0,0 +1,7 @@ +if [ ! -d "INPUT" ]; then + mkdir INPUT +fi + +cd INPUT +rsync -arv @[INPUTDATA_ROOT]/DOCN_input_data/$HURR/* . +cd - diff --git a/tests/fv3_conf/coastal_schism_run.IN b/tests/fv3_conf/coastal_schism_run.IN index 16f5b5dd33..72dd01bd8d 100644 --- a/tests/fv3_conf/coastal_schism_run.IN +++ b/tests/fv3_conf/coastal_schism_run.IN @@ -22,3 +22,9 @@ for IFILE in @[INPUTDATA_ROOT]/SCHISM/$HURR/$CPL_CONF/*.th; do cp $IFILE . fi done + +for IFILE in @[INPUTDATA_ROOT]/SCHISM/$HURR/$CPL_CONF/*.nc; do + if [ -f "$IFILE" ]; then + cp $IFILE . + fi +done diff --git a/tests/fv3_conf/coastal_ww3_run.IN b/tests/fv3_conf/coastal_ww3_run.IN index 4912fc23a7..41114fa1d1 100644 --- a/tests/fv3_conf/coastal_ww3_run.IN +++ b/tests/fv3_conf/coastal_ww3_run.IN @@ -5,10 +5,25 @@ if [ ! -d "RESTART" ]; then mkdir RESTART fi -cp @[INPUTDATA_ROOT]/WW3/$HURR/$CPL_CONF/bound.nc . -cp @[INPUTDATA_ROOT]/WW3/$HURR/$CPL_CONF/inlet.msh . +for IFILE in @[INPUTDATA_ROOT]/WW3/$HURR/$CPL_CONF/*.nc; do + if [ -f "$IFILE" ]; then + cp $IFILE . + fi +done + +for IFILE in @[INPUTDATA_ROOT]/WW3/$HURR/$CPL_CONF/*.msh; do + if [ -f "$IFILE" ]; then + cp $IFILE . + fi +done + +for IFILE in @[INPUTDATA_ROOT]/WW3/$HURR/$CPL_CONF/*.list; do + if [ -f "$IFILE" ]; then + cp $IFILE . + fi +done + cp @[INPUTDATA_ROOT]/WW3/$HURR/$CPL_CONF/ww3_* . -cp @[INPUTDATA_ROOT]/WW3/$HURR/$CPL_CONF/mesh.shinnecock.cdf5.nc . cp @[INPUTDATA_ROOT]/WW3/$HURR/$CPL_CONF/mod_def.* . if [[ $CPL_CONF == 'ww3' ]]; then diff --git a/tests/parm/datm.streams.coastal.multi.IN b/tests/parm/datm.streams.coastal.multi.IN new file mode 100644 index 0000000000..a39c3bc8f8 --- /dev/null +++ b/tests/parm/datm.streams.coastal.multi.IN @@ -0,0 +1,31 @@ +stream_info: @[FILENAME_BASE]01 @[FILENAME_BASE]02 + +taxmode01: limit +mapalgo01: @[mapalgo01] +tInterpAlgo01: @[tinterpalgo01] +readMode01: single +dtlimit01: @[dtlimit] +stream_offset01: @[STREAM_OFFSET01] +yearFirst01: @[SYEAR] +yearLast01: @[SYEAR] +yearAlign01: @[SYEAR] +stream_vectors01: @[STREAM_VECTORS] +stream_mesh_file01: "INPUT/@[MESH_ATM]" +stream_lev_dimname01: null +stream_data_files01: @[stream_files01] +stream_data_variables01: @[stream_variables01] + +taxmode02: limit +mapalgo02: @[mapalgo02] +tInterpAlgo02: @[tinterpalgo02] +readMode02: single +dtlimit02: @[dtlimit] +stream_offset02: @[STREAM_OFFSET02] +yearFirst02: @[SYEAR] +yearLast02: @[SYEAR] +yearAlign02: @[SYEAR] +stream_vectors02: @[STREAM_VECTORS] +stream_mesh_file02: "INPUT/@[MESH_ATM]" +stream_lev_dimname02: null +stream_data_files02: @[stream_files02] +stream_data_variables02: @[stream_variables02] diff --git a/tests/parm/docn.streams.coastal.IN b/tests/parm/docn.streams.coastal.IN new file mode 100644 index 0000000000..fcdd68492f --- /dev/null +++ b/tests/parm/docn.streams.coastal.IN @@ -0,0 +1,15 @@ +stream_info: @[FILENAME_BASE]01 +taxmode01: @[taxmode] +mapalgo01: @[mapalgo] +tInterpAlgo01: linear +readMode01: single +dtlimit01: @[dtlimit] +stream_offset01: @[STREAM_OFFSET] +yearFirst01: @[SYEAR] +yearLast01: @[SYEAR] +yearAlign01: @[SYEAR] +stream_vectors01: @[STREAM_VECTORS] +stream_mesh_file01: "INPUT/@[MESH_OCN]" +stream_lev_dimname01: null +stream_data_files01: @[stream_files] +stream_data_variables01: @[stream_variables] diff --git a/tests/parm/docn_in.IN b/tests/parm/docn_in.IN index dd399770dd..49cb04b167 100644 --- a/tests/parm/docn_in.IN +++ b/tests/parm/docn_in.IN @@ -8,4 +8,5 @@ sst_constant_value = -1.0 skip_restart_read = true import_data_fields = "none" + export_all = @[EXPORT_ALL] / diff --git a/tests/parm/ufs.configure.coastal_datm_ocn_cice.IN b/tests/parm/ufs.configure.coastal_datm_ocn_cice.IN new file mode 100644 index 0000000000..d8acabaf00 --- /dev/null +++ b/tests/parm/ufs.configure.coastal_datm_ocn_cice.IN @@ -0,0 +1,112 @@ +############################################# +#### NEMS Run-Time Configuration File ##### +############################################# + +# ESMF # +logKindFlag: ESMF_LOGKIND_MULTI +globalResourceControl: true + +# EARTH # +EARTH_component_list: ATM OCN ICE MED +EARTH_attributes:: + Verbosity = 0 +:: + +# MED # +MED_model: @[med_model] +MED_petlist_bounds: @[med_petlist_bounds] +MED_omp_num_threads: @[med_omp_num_threads] +MED_attributes:: + ATM_model = @[atm_model] + OCN_model = @[ocn_model] + ICE_model = @[ice_model] + history_n = 1 + history_option = nhours + history_ymd = -999 + coupling_mode = @[CPLMODE] +:: + +# ATM # +ATM_model: @[atm_model] +ATM_petlist_bounds: @[atm_petlist_bounds] +ATM_omp_num_threads: @[atm_omp_num_threads] +ATM_attributes:: + Verbosity = 0 + DumpFields = false + ProfileMemory = false + OverwriteSlice = true +:: + +# OCN # +OCN_model: @[ocn_model] +OCN_petlist_bounds: @[ocn_petlist_bounds] +OCN_omp_num_threads: @[ocn_omp_num_threads] +OCN_attributes:: + Verbosity = 0 + DumpFields = false + ProfileMemory = false + OverwriteSlice = true + meshloc = @[meshloc] + CouplingConfig = @[coupling_config] + write_restart_at_endofrun = .true. +:: + +# ICE # +ICE_model: @[ice_model] +ICE_petlist_bounds: @[ice_petlist_bounds] +ICE_omp_num_threads: @[ice_omp_num_threads] +ICE_attributes:: + Verbosity = 0 + DumpFields = false + ProfileMemory = false + OverwriteSlice = true + mesh_ice = @[mesh_ice] + eps_imesh = 5.0e-1 +:: + +# Run Sequence # +runSeq:: +@@[coupling_interval_slow_sec] + MED med_phases_prep_atm + MED med_phases_prep_ocn_accum + MED med_phases_prep_ocn_avg + MED med_phases_prep_ice + MED -> ATM :remapMethod=redist + MED -> OCN :remapMethod=redist + MED -> ICE :remapMethod=redist + ATM + OCN + ICE + ATM -> MED :remapMethod=redist + OCN -> MED :remapMethod=redist + ICE -> MED :remapMethod=redist + MED med_phases_post_atm + MED med_phases_post_ocn + MED med_phases_post_ice + MED med_phases_history_write + MED med_phases_restart_write +@ +:: + +ALLCOMP_attributes:: + ScalarFieldCount = 3 + ScalarFieldIdxGridNX = 1 + ScalarFieldIdxGridNY = 2 + ScalarFieldIdxNextSwCday = 3 + ScalarFieldName = cpl_scalars + start_type = @[RUNTYPE] + restart_dir = RESTART/ + case_name = ufs.cpld + restart_n = @[RESTART_N] + restart_option = nhours + restart_ymd = -999 + orb_eccen = 1.e36 + orb_iyear = 2000 + orb_iyear_align = 2000 + orb_mode = fixed_year + orb_mvelp = 1.e36 + orb_obliq = 1.e36 + stop_n = @[FHMAX] + stop_option = nhours + stop_ymd = -999 +:: diff --git a/tests/parm/ufs.configure.coastal_datm_ocn_wav.IN b/tests/parm/ufs.configure.coastal_datm_ocn_wav.IN index 107ac82b51..a7461f744d 100644 --- a/tests/parm/ufs.configure.coastal_datm_ocn_wav.IN +++ b/tests/parm/ufs.configure.coastal_datm_ocn_wav.IN @@ -58,7 +58,7 @@ WAV_attributes:: Verbosity = 0 DumpFields = false ProfileMemory = false - mesh_wav = mesh.shinnecock.cdf5.nc + mesh_wav = @[wav_mesh] multigrid = false user_histname = 'false' use_historync = 'true' diff --git a/tests/rt_coastal.conf b/tests/rt_coastal.conf index 75744bc4e3..0860fbf709 100644 --- a/tests/rt_coastal.conf +++ b/tests/rt_coastal.conf @@ -24,17 +24,19 @@ COMPILE | atm2adc | intel | -DAPP=CSTLA -DADCIRC_CONFIG=PADCIRC -DCOUPLED=ON | | fv3 | RUN | coastal_ike_shinnecock_atm2adc | | baseline | +### CICE tests ### +COMPILE | atm2ocn2cice | intel | -DAPP=CSTLC -DCICE_IO=NetCDF | | fv3 | +RUN | coastal_bering_sea_atm2ocn2cice | | baseline | + ### FVCOM tests ### COMPILE | atm2fvc | intel | -DAPP=CSTLF -DCOORDINATE_TYPE=SPHERICAL -DWET_DRY=ON | | fv3 | RUN | coastal_scituateharbor_atm2fvc | | baseline | ### SCHISM tests ### -#COMPILE | atm2sch | intel | -DAPP=CSTLS -DUSE_ATMOS=ON -DNO_PARMETIS=OFF -DOLDIO=ON -DBUILD_TOOLS=ON | | fv3 | -COMPILE | atm2sch | intel | -DAPP=CSTLS -DUSE_ATMOS=ON -DNO_PARMETIS=OFF -DOLDIO=ON | | fv3 | -RUN | coastal_ike_shinnecock_atm2sch | | baseline | +COMPILE | atm2sch | intel | -DAPP=CSTLS -DUSE_ATMOS=ON -DNO_PARMETIS=OFF -DOLDIO=ON -DBUILD_TOOLS=ON | | fv3 | +RUN | coastal_sandy_duck_atm2sch | | baseline | -#COMPILE | atm2sch2ww3 | intel | -DAPP=CSTLSW -DUSE_ATMOS=ON -DUSE_WW3=ON -DNO_PARMETIS=OFF -DOLDIO=ON -DPDLIB=ON -DBUILD_TOOLS=ON | | fv3 | -COMPILE | atm2sch2ww3 | intel | -DAPP=CSTLSW -DUSE_ATMOS=ON -DUSE_WW3=ON -DNO_PARMETIS=OFF -DOLDIO=ON -DPDLIB=ON | | fv3 | +COMPILE | atm2sch2ww3 | intel | -DAPP=CSTLSW -DUSE_ATMOS=ON -DUSE_WW3=ON -DNO_PARMETIS=OFF -DOLDIO=ON -DPDLIB=ON -DBUILD_TOOLS=ON | | fv3 | RUN | coastal_ike_shinnecock_atm2sch2ww3 | | baseline | ### ROMS tests ### @@ -45,12 +47,20 @@ RUN | coastal_irene_atm2roms | | baseline | COMPILE | atm2ww3 | intel | -DAPP=CSTLW -DPDLIB=ON -DBUILD_TOOLS=ON | | fv3 | RUN | coastal_ike_shinnecock_ww3 | | baseline | RUN | coastal_ike_shinnecock_atm2ww3 | | baseline | +RUN | coastal_sandy_duck_atm2ocn2ww3 | | baseline | ### GNU Tests ### ### SCHISM tests ### +COMPILE | atm2sch | gnu | -DAPP=CSTLS -DUSE_ATMOS=ON -DNO_PARMETIS=OFF -DOLDIO=ON -DBUILD_TOOLS=ON | | fv3 | +RUN | coastal_sandy_duck_atm2sch | | baseline | + COMPILE | atm2sch2ww3 | gnu | -DAPP=CSTLSW -DUSE_ATMOS=ON -DUSE_WW3=ON -DNO_PARMETIS=OFF -DOLDIO=ON -DPDLIB=ON -DBUILD_TOOLS=ON | - frontera | fv3 | RUN | coastal_ike_shinnecock_atm2sch2ww3 | - frontera | baseline | +### WW3 tests ### +COMPILE | atm2ww3 | gnu | -DAPP=CSTLW -DPDLIB=ON -DBUILD_TOOLS=ON | | fv3 | +RUN | coastal_sandy_duck_atm2ocn2ww3 | | baseline | + ### ROMS tests ### COMPILE | atm2roms | gnu | -DAPP=CSTLR -DMY_CPP_FLAGS=BULK_FLUXES | - frontera | fv3 | RUN | coastal_irene_atm2roms | - frontera | baseline | diff --git a/tests/tests/coastal_bering_sea_atm2ocn2cice b/tests/tests/coastal_bering_sea_atm2ocn2cice new file mode 100644 index 0000000000..a524ebf769 --- /dev/null +++ b/tests/tests/coastal_bering_sea_atm2ocn2cice @@ -0,0 +1,123 @@ +############################################################################### +# +# CICE coupled coastal_bering_sea_atm2ocn2cice configuration +# +############################################################################### + +export TEST_DESCR="Compare coastal_bering_sea_atm2ocn2cice results with previous trunk version" + +export CNTL_DIR=coastal_bering_sea_atm2ocn2cice + +export LIST_FILES="20121027.010000.out_grd.ww3.nc \ + 20121027.060000.out_grd.ww3.nc \ + ufs.cpld.datm.r.2012-10-27-21600.nc \ + ufs.cpld.docn.r.2012-10-27-21600.nc \ + ufs.cpld.ww3.r.2012-10-27-21600.nc \ + ufs.cpld.cpl.hi.2012-10-27-03600.nc \ + ufs.cpld.cpl.hi.2012-10-27-21600.nc" + +# default options +export_coastal + +# model_configure +export SYEAR=2018 +export SMONTH=12 +export SDAY=01 +export SHOUR=00 +export FHMAX=6 +export FHROT=0 +# not used +export DT_ATMOS=720 +export RESTART_INTERVAL=0 +export QUILTING=.true. +export QUILTING_RESTART=.false. +export WRITE_GROUP=1 +export WRTTASK_PER_GROUP=6 +export ITASKS=1 +export OUTPUT_HISTORY=.true. +export WRITE_DOPOST=.false. +export NUM_FILES=2 +export FILENAME_BASE="'atm' 'sfc'" +export OUTPUT_GRID="'cubed_sphere_grid'" +export OUTPUT_FILE="'netcdf'" +export IDEFLATE=0 +export NBITS=0 +export ICHUNK2D=0 +export JCHUNK2D=0 +export ICHUNK3D=0 +export JCHUNK3D=0 +export KCHUNK3D=0 +export IMO=384 +export JMO=190 +export WRITE_NSFLIP=.false. +export OUTPUT_FH="12 -1" +export IAU_OFFSET=0 +if [[ " hera orion hercules gaea jet frontera " =~ " ${MACHINE_ID} " ]] ; then + ZSTANDARD_LEVEL=5 +fi + +# datm +export DATM_CDEPS=true +export DATM_STREAM_CONFIGURE=datm.streams.coastal.multi.IN +export atm_datamode="ERA5" +export MESH_ATM="ERA5_BerSea_ESMFmesh.nc" +export ATM_NX_GLB=203 +export ATM_NY_GLB=75 +export EXPORT_ALL=.true. +export FILENAME_BASE='era5.' +export STREAM_VECTORS="null" +export mapalgo01=redist +export tinterpalgo01=linear +export STREAM_OFFSET01=-300 +export stream_files01="\"INPUT/ERA5_forcing_2018_2019.nc\"" +export stream_variables01="\"Tair Sa_tbot\" \"Pair Sa_pbot\" \"Qair Sa_shum\" \"Uwind Sa_u\" \"Vwind Sa_v\" \"rain Faxa_rain\" \"lwrad_down Faxa_lwdn\"" +export mapalgo02=redist +export tinterpalgo02=coszen +export STREAM_OFFSET02=-1200 +export stream_files02="\"INPUT/ERA5_forcing_2018_2019.nc\"" +export stream_variables02="\"swrad Faxa_swvdr\"" +export mapalgo=redist +export dtlimit=1.5 + +# docn +export DOCN_CDEPS=true +export DOCN_STREAM_CONFIGURE=docn.streams.coastal.IN +export ocn_datamode="sstdata" +export MESH_OCN="mesh.cice.4km.nc" +export ocn_nx_global=730 +export ocn_ny_global=478 +export EXPORT_ALL=.true. +export FILENAME_BASE='sst.' +export STREAM_VECTORS="null" +export taxmode=cycle +export stream_files="\"INPUT/ROMS_2018_2019.nc\"" +export stream_variables="\"qdp Fioo_q\" \"U So_u\" \"V So_v\" \"S So_s\" \"T So_t\" \"dhdy So_dhdy\" \"dhdx So_dhdx\" \"hblt So_h\"" +export mapalgo=redist +export dtlimit=2.0 +export STREAM_OFFSET=-1200 + +# datm/docn +export HURR="Bering" +export CPL_CONF="atm2ocn2cice" + +# pes +export ATM_compute_tasks=18 +export OCN_tasks=18 +export ICE_tasks=230 + +# configuration +export MODEL_CONFIGURE=model_configure.IN +export UFS_CONFIGURE=ufs.configure.coastal_datm_ocn_cice.IN +export med_model=cmeps +export atm_model=datm +export ocn_model=docn +export ice_model=cice6 +export mesh_ice=INPUT/Grid/ESMF_MESH/mesh.cice.4km.nc +export coupling_interval_slow_sec=1200 +export RESTART_N=6 +export RUNTYPE=startup +export CPLMODE=coastal +export meshloc=element + +# input files +export FV3_RUN="coastal_datm.IN coastal_docn.IN coastal_cice_run.IN" diff --git a/tests/tests/coastal_ike_shinnecock_atm2adc b/tests/tests/coastal_ike_shinnecock_atm2adc index 98d22ff257..17aeba5358 100644 --- a/tests/tests/coastal_ike_shinnecock_atm2adc +++ b/tests/tests/coastal_ike_shinnecock_atm2adc @@ -94,4 +94,4 @@ export CPLMODE=coastal export meshloc=element # input files -export FV3_RUN="coastal_datm_atmmesh.IN coastal_adcirc_run.IN" +export FV3_RUN="coastal_datm.IN coastal_adcirc_run.IN" diff --git a/tests/tests/coastal_ike_shinnecock_atm2sch b/tests/tests/coastal_ike_shinnecock_atm2sch index 88ee2a9250..06e10982ec 100644 --- a/tests/tests/coastal_ike_shinnecock_atm2sch +++ b/tests/tests/coastal_ike_shinnecock_atm2sch @@ -99,4 +99,4 @@ export CPLMODE=coastal export meshloc=element # input files -export FV3_RUN="coastal_datm_atmmesh.IN coastal_schism_run.IN" +export FV3_RUN="coastal_datm.IN coastal_schism_run.IN" diff --git a/tests/tests/coastal_ike_shinnecock_atm2sch2ww3 b/tests/tests/coastal_ike_shinnecock_atm2sch2ww3 index 28d2fad4bf..aa1763b1ce 100644 --- a/tests/tests/coastal_ike_shinnecock_atm2sch2ww3 +++ b/tests/tests/coastal_ike_shinnecock_atm2sch2ww3 @@ -112,6 +112,7 @@ export med_model=cmeps export atm_model=datm export ocn_model=schism export wav_model=ww3 +export wav_mesh=mesh.shinnecock.cdf5.nc export coupling_interval_slow_sec=3600 export RESTART_N=12 export RUNTYPE=startup @@ -119,4 +120,4 @@ export CPLMODE=coastal export meshloc=element # input files -export FV3_RUN="coastal_datm_atmmesh.IN coastal_schism_run.IN coastal_ww3_run.IN" +export FV3_RUN="coastal_datm.IN coastal_schism_run.IN coastal_ww3_run.IN" diff --git a/tests/tests/coastal_ike_shinnecock_atm2ww3 b/tests/tests/coastal_ike_shinnecock_atm2ww3 index 81b8481b41..037a36dd72 100644 --- a/tests/tests/coastal_ike_shinnecock_atm2ww3 +++ b/tests/tests/coastal_ike_shinnecock_atm2ww3 @@ -91,9 +91,10 @@ export atm_omp_num_threads=1 export wav_model=ww3 export wav_petlist_bounds="0 11" export wav_omp_num_threads=1 +export wav_mesh=mesh.shinnecock.cdf5.nc export coupling_interval_slow_sec=3600 export RESTART_N=12 export RUNTYPE=startup export CPLMODE=coastal # input files -export FV3_RUN="coastal_datm_atmmesh.IN coastal_ww3_run.IN" +export FV3_RUN="coastal_datm.IN coastal_ww3_run.IN" diff --git a/tests/tests/coastal_ike_shinnecock_ww3 b/tests/tests/coastal_ike_shinnecock_ww3 index 54fadf014a..75e33480d8 100644 --- a/tests/tests/coastal_ike_shinnecock_ww3 +++ b/tests/tests/coastal_ike_shinnecock_ww3 @@ -68,6 +68,7 @@ export UFS_CONFIGURE=ufs.configure.coastal_wav.IN export wav_model=ww3 export wav_petlist_bounds="0 11" export wav_omp_num_threads=1 +export wav_mesh=mesh.shinnecock.cdf5.nc export coupling_interval_slow_sec=3600 # input files export FV3_RUN="coastal_ww3_run.IN" diff --git a/tests/tests/coastal_sandy_duck_atm2ocn2ww3 b/tests/tests/coastal_sandy_duck_atm2ocn2ww3 new file mode 100644 index 0000000000..d1a53e137e --- /dev/null +++ b/tests/tests/coastal_sandy_duck_atm2ocn2ww3 @@ -0,0 +1,116 @@ +############################################################################### +# +# WW3 coupled coastal_sandy_duck_atm2ocn2ww3 configuration +# +############################################################################### + +export TEST_DESCR="Compare coastal_sandy_duck_atm2ocn2ww3 results with previous trunk version" + +export CNTL_DIR=coastal_sandy_duck_atm2ocn2ww3 + +export LIST_FILES="20121027.010000.out_grd.ww3.nc \ + 20121027.060000.out_grd.ww3.nc \ + ufs.cpld.datm.r.2012-10-27-21600.nc \ + ufs.cpld.docn.r.2012-10-27-21600.nc \ + ufs.cpld.ww3.r.2012-10-27-21600.nc \ + ufs.cpld.cpl.hi.2012-10-27-03600.nc \ + ufs.cpld.cpl.hi.2012-10-27-21600.nc" + +# default options +export_coastal + +# model_configure +export SYEAR=2012 +export SMONTH=10 +export SDAY=27 +export SHOUR=00 +export FHMAX=6 +export FHROT=0 +# not used +export DT_ATMOS=720 +export RESTART_INTERVAL=0 +export QUILTING=.true. +export QUILTING_RESTART=.false. +export WRITE_GROUP=1 +export WRTTASK_PER_GROUP=6 +export ITASKS=1 +export OUTPUT_HISTORY=.true. +export WRITE_DOPOST=.false. +export NUM_FILES=2 +export FILENAME_BASE="'atm' 'sfc'" +export OUTPUT_GRID="'cubed_sphere_grid'" +export OUTPUT_FILE="'netcdf'" +export IDEFLATE=0 +export NBITS=0 +export ICHUNK2D=0 +export JCHUNK2D=0 +export ICHUNK3D=0 +export JCHUNK3D=0 +export KCHUNK3D=0 +export IMO=384 +export JMO=190 +export WRITE_NSFLIP=.false. +export OUTPUT_FH="12 -1" +export IAU_OFFSET=0 +if [[ " hera orion hercules gaea jet frontera " =~ " ${MACHINE_ID} " ]] ; then + ZSTANDARD_LEVEL=5 +fi + +# datm +export DATM_CDEPS=true +export DATM_STREAM_CONFIGURE=datm.streams.coastal.IN +export atm_datamode="ATMMESH" +export MESH_ATM="era5_data_19941012_19941014_rot_fix_SCRIP_ESMF.nc" +export ATM_NX_GLB=1440 +export ATM_NY_GLB=721 +export EXPORT_ALL=.true. +export FILENAME_BASE='atmmesh.' +export STREAM_VECTORS="null" +export stream_files="\"INPUT/era5_data_30min_obs_wind_rot_fix_filled.nc\"" +export stream_variables="\"u10 Sa_u10m\" \"v10 Sa_v10m\" \"msl Sa_pslv\"" +export mapalgo=redist +export dtlimit=1.5 +export STREAM_OFFSET=0 + +# docn +export DOCN_CDEPS=true +export DOCN_STREAM_CONFIGURE=docn.streams.coastal.IN +export ocn_datamode="sstdata" +export MESH_OCN="era5_data_19941012_19941014_rot_fix_SCRIP_ESMF.nc" +export ocn_nx_global=1440 +export ocn_ny_global=721 +export EXPORT_ALL=.true. +export FILENAME_BASE='era5.' +export STREAM_VECTORS="null" +export taxmode=limit +export stream_files="\"INPUT/wlv_clean.nc\"" +export stream_variables="\"So_h So_h\"" +export mapalgo=redist +export dtlimit=1.5 +export STREAM_OFFSET=0 + +# datm/ocean +export HURR="Sandy" +export CPL_CONF="atm2ocn2ww3" + +# pes +export ATM_compute_tasks=18 +export OCN_tasks=18 +export WAV_tasks=128 + +# configuration +export MODEL_CONFIGURE=model_configure.IN +export UFS_CONFIGURE=ufs.configure.coastal_datm_ocn_wav.IN +export med_model=cmeps +export atm_model=datm +export ocn_model=docn +export wav_model=ww3 +export wav_mesh=duck_ESMFmesh.nc +export coupling_interval_slow_sec=1800 +export RESTART_N=6 +export RUNTYPE=startup +export CPLMODE=coastal +export meshloc=element + +# input files +export FV3_RUN="coastal_datm.IN coastal_docn.IN coastal_ww3_run.IN" diff --git a/tests/tests/coastal_sandy_duck_atm2sch b/tests/tests/coastal_sandy_duck_atm2sch new file mode 100644 index 0000000000..f1dabc7c40 --- /dev/null +++ b/tests/tests/coastal_sandy_duck_atm2sch @@ -0,0 +1,106 @@ +############################################################################### +# +# SCHISM coupled coastal_sandy_duck_atm2sch configuration +# +############################################################################### + +export TEST_DESCR="Compare coastal_sandy_duck_atm2sch results with previous trunk version" + +export CNTL_DIR=coastal_sandy_duck_atm2sch + +lst="" +for n in `seq -f "%06g" 0 159` +do + if [ $n == 0 ]; then + lst="outputs/schout_${n}_1.nc outputs/schout_${n}_2.nc" + else + lst="$lst outputs/schout_${n}_1.nc outputs/schout_${n}_2.nc" + fi +done + +export LIST_FILES="${lst} ufs.cpld.cpl.hi.2012-10-27-21600.nc" + +# default options +export_coastal + +# model_configure +export SYEAR=2012 +export SMONTH=10 +export SDAY=27 +export SHOUR=00 +export FHMAX=6 +export FHROT=0 +# not used +export DT_ATMOS=720 +export RESTART_INTERVAL=0 +export QUILTING=.true. +export QUILTING_RESTART=.false. +export WRITE_GROUP=1 +export WRTTASK_PER_GROUP=6 +export ITASKS=1 +export OUTPUT_HISTORY=.true. +export WRITE_DOPOST=.false. +export NUM_FILES=2 +export FILENAME_BASE="'atm' 'sfc'" +export OUTPUT_GRID="'cubed_sphere_grid'" +export OUTPUT_FILE="'netcdf'" +export IDEFLATE=0 +export NBITS=0 +export ICHUNK2D=0 +export JCHUNK2D=0 +export ICHUNK3D=0 +export JCHUNK3D=0 +export KCHUNK3D=0 +export IMO=384 +export JMO=190 +export WRITE_NSFLIP=.false. +export OUTPUT_FH="12 -1" +export IAU_OFFSET=0 +if [[ " hera orion hercules gaea jet frontera " =~ " ${MACHINE_ID} " ]] ; then + ZSTANDARD_LEVEL=5 +fi + +# datm +export DATM_CDEPS=true +export DATM_STREAM_CONFIGURE=datm.streams.coastal.IN +export atm_datamode="ATMMESH" +export MESH_ATM="era5_data_19941012_19941014_rot_fix_SCRIP_ESMF.nc" +export ATM_NX_GLB=1440 +export ATM_NY_GLB=721 +export EXPORT_ALL=.true. +export FILENAME_BASE='atmmesh.' +export STREAM_VECTORS="null" +export stream_files="\"INPUT/era5_data_30min_obs_wind_rot_fix_filled.nc\"" +export stream_variables="\"u10 Sa_u10m\" \"v10 Sa_v10m\" \"msl Sa_pslv\"" +export mapalgo=redist +export dtlimit=1.5 +export STREAM_OFFSET=0 + +# datm/ocean +export HURR="Sandy" +export CPL_CONF="atm2sch" + +# pes +export ATM_compute_tasks=160 +export OCN_tasks=160 + +# configuration +export MODEL_CONFIGURE=model_configure.IN +export UFS_CONFIGURE=ufs.configure.coastal_datm_ocn.IN +export med_model=cmeps +export med_petlist_bounds="0 159" +export med_omp_num_threads=1 +export atm_model=datm +export atm_petlist_bounds="0 159" +export atm_omp_num_threads=1 +export ocn_model=schism +export ocn_petlist_bounds="0 159" +export ocn_omp_num_threads=1 +export coupling_interval_slow_sec=1800 +export RESTART_N=6 +export RUNTYPE=startup +export CPLMODE=coastal +export meshloc=element + +# input files +export FV3_RUN="coastal_datm.IN coastal_schism_run.IN" diff --git a/tests/tests/coastal_scituateharbor_atm2fvc b/tests/tests/coastal_scituateharbor_atm2fvc index e2f9f88591..ce29c9b6e5 100644 --- a/tests/tests/coastal_scituateharbor_atm2fvc +++ b/tests/tests/coastal_scituateharbor_atm2fvc @@ -91,5 +91,5 @@ export RUNTYPE=startup export CPLMODE=coastal export meshloc=element # input files -export FV3_RUN="coastal_datm_atmmesh.IN coastal_fvcom_run.IN" +export FV3_RUN="coastal_datm.IN coastal_fvcom_run.IN" export CMP_DATAONLY=true