Skip to content

Commit

Permalink
Add PIO namelist control for CICE (#2145)
Browse files Browse the repository at this point in the history
Update to CICE-Consortium/CICE aca8357. Adds implementation of namelist PIO options for CICE
  • Loading branch information
DeniseWorthen committed Apr 11, 2024
1 parent 45c8b2a commit 8a5f711
Show file tree
Hide file tree
Showing 17 changed files with 2,456 additions and 2,563 deletions.
2 changes: 1 addition & 1 deletion CICE-interface/CICE
Submodule CICE updated 70 files
+1 −1 .github/PULL_REQUEST_TEMPLATE.md
+4 −2 .github/workflows/test-cice.yml
+16 −4 cicecore/cicedyn/analysis/ice_history.F90
+14 −8 cicecore/cicedyn/analysis/ice_history_shared.F90
+19 −3 cicecore/cicedyn/dynamics/ice_dyn_eap.F90
+52 −11 cicecore/cicedyn/dynamics/ice_dyn_evp.F90
+104 −10 cicecore/cicedyn/dynamics/ice_dyn_shared.F90
+12 −19 cicecore/cicedyn/dynamics/ice_dyn_vp.F90
+29 −112 cicecore/cicedyn/dynamics/ice_transport_remap.F90
+2 −1 cicecore/cicedyn/general/ice_flux.F90
+9 −1 cicecore/cicedyn/general/ice_forcing.F90
+247 −56 cicecore/cicedyn/general/ice_init.F90
+2 −0 cicecore/cicedyn/general/ice_state.F90
+27 −18 cicecore/cicedyn/infrastructure/comm/mpi/ice_global_reductions.F90
+27 −18 cicecore/cicedyn/infrastructure/comm/serial/ice_global_reductions.F90
+27 −27 cicecore/cicedyn/infrastructure/ice_blocks.F90
+45 −34 cicecore/cicedyn/infrastructure/ice_domain.F90
+50 −141 cicecore/cicedyn/infrastructure/ice_grid.F90
+2 −1 cicecore/cicedyn/infrastructure/ice_memusage.F90
+636 −655 cicecore/cicedyn/infrastructure/ice_read_write.F90
+1 −1 cicecore/cicedyn/infrastructure/ice_restoring.F90
+1 −0 cicecore/cicedyn/infrastructure/io/io_binary/ice_history_write.F90
+12 −12 cicecore/cicedyn/infrastructure/io/io_binary/ice_restart.F90
+1,032 −1,061 cicecore/cicedyn/infrastructure/io/io_netcdf/ice_history_write.F90
+256 −207 cicecore/cicedyn/infrastructure/io/io_netcdf/ice_restart.F90
+656 −535 cicecore/cicedyn/infrastructure/io/io_pio2/ice_history_write.F90
+156 −65 cicecore/cicedyn/infrastructure/io/io_pio2/ice_pio.F90
+589 −541 cicecore/cicedyn/infrastructure/io/io_pio2/ice_restart.F90
+32 −1 cicecore/drivers/nuopc/cmeps/ice_comp_nuopc.F90
+44 −34 cicecore/drivers/nuopc/cmeps/ice_import_export.F90
+1 −7 cicecore/drivers/nuopc/cmeps/ice_mesh_mod.F90
+1 −1 cicecore/drivers/standalone/cice/CICE_InitMod.F90
+9 −2 cicecore/shared/ice_restart_shared.F90
+13 −0 configuration/scripts/ice_in
+6 −1 configuration/scripts/machines/Macros.conda_macos
+2 −0 configuration/scripts/machines/env.derecho_cray
+2 −0 configuration/scripts/machines/env.derecho_gnu
+2 −0 configuration/scripts/machines/env.derecho_intel
+2 −0 configuration/scripts/machines/env.derecho_intelclassic
+2 −0 configuration/scripts/machines/env.derecho_inteloneapi
+2 −0 configuration/scripts/machines/env.derecho_nvhpc
+1 −0 configuration/scripts/machines/environment.yml
+1 −0 configuration/scripts/options/set_env.iopio1
+0 −1 configuration/scripts/options/set_env.iopio1p
+0 −1 configuration/scripts/options/set_env.iopio2p
+1 −0 configuration/scripts/options/set_nml.histall
+1 −0 configuration/scripts/options/set_nml.histdbg
+2 −0 configuration/scripts/options/set_nml.iobinary
+2 −0 configuration/scripts/options/set_nml.iocdf1
+2 −0 configuration/scripts/options/set_nml.iocdf2
+2 −0 configuration/scripts/options/set_nml.iocdf5
+2 −0 configuration/scripts/options/set_nml.iohdf5
+4 −0 configuration/scripts/options/set_nml.iohdf5opts
+0 −2 configuration/scripts/options/set_nml.iopio1
+0 −2 configuration/scripts/options/set_nml.iopio1p
+0 −2 configuration/scripts/options/set_nml.iopio2
+0 −2 configuration/scripts/options/set_nml.iopio2p
+10 −0 configuration/scripts/options/set_nml.iopioopts
+2 −0 configuration/scripts/options/set_nml.iopnetcdf1
+2 −0 configuration/scripts/options/set_nml.iopnetcdf2
+2 −0 configuration/scripts/options/set_nml.iopnetcdf5
+3 −3 configuration/scripts/tests/gridsys_suite.ts
+41 −67 configuration/scripts/tests/io_suite.ts
+13 −0 doc/source/cice_index.rst
+8 −2 doc/source/developer_guide/dg_about.rst
+3 −1 doc/source/developer_guide/dg_infra.rst
+51 −14 doc/source/user_guide/ug_case_settings.rst
+97 −29 doc/source/user_guide/ug_implementation.rst
+65 −18 doc/source/user_guide/ug_running.rst
+5 −0 doc/source/user_guide/ug_testing.rst
2 changes: 1 addition & 1 deletion CICE-interface/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ else()
endif()

# Configuration Options
set(CICE_IO "NetCDF" CACHE STRING "CICE OPTIONS: Choose IO options.")
set(CICE_IO "PIO" CACHE STRING "CICE OPTIONS: Choose IO options.")
set_property(CACHE CICE_IO PROPERTY STRINGS "NetCDF" "PIO" "Binary")

# Too many files to list, so include them via this file
Expand Down
2 changes: 1 addition & 1 deletion tests/bl_date.conf
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export BL_DATE=20240401
export BL_DATE=20240408
22 changes: 22 additions & 0 deletions tests/default_vars.sh
Original file line number Diff line number Diff line change
Expand Up @@ -653,6 +653,28 @@ export CICE_RUNID=unknown
export CICE_USE_RESTART_TIME=.false.
export CICE_RESTART_DIR=./RESTART/
export CICE_RESTART_FILE=iced

export CICE_RESTART_FORMAT='pnetcdf2'
export CICE_RESTART_IOTASKS=-99
export CICE_RESTART_REARR='box'
export CICE_RESTART_ROOT=-99
export CICE_RESTART_STRIDE=-99
export CICE_RESTART_CHUNK=0,0
export CICE_RESTART_DEFLATE=0

export CICE_HISTORY_FORMAT='pnetcdf2'
if [[ ${MACHINE_ID} == wcoss2 ]]; then
export CICE_RESTART_FORMAT='hdf5'
export CICE_HISTORY_FORMAT='hdf5'
fi
export CICE_HISTORY_IOTASKS=-99
export CICE_HISTORY_REARR='box'
export CICE_HISTORY_ROOT=-99
export CICE_HISTORY_STRIDE=-99
export CICE_HISTORY_CHUNK=0,0
export CICE_HISTORY_DEFLATE=0
export CICE_HISTORY_PREC=4

export CICE_DUMPFREQ=d
export CICE_DUMPFREQ_N=1000
export CICE_DIAGFREQ=`expr $FHMAX \* 3600 / $DT_CICE`
Expand Down
48 changes: 24 additions & 24 deletions tests/logs/OpnReqTests_control_p8_hera.log
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Thu Apr 4 13:45:26 UTC 2024
Mon Apr 8 18:02:49 UTC 2024
Start Operation Requirement Test


baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_bit_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_478288/bit_base_bit_base
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_2423128/bit_base_bit_base
Checking test bit_base results ....
Moving baseline bit_base files ....
Moving sfcf000.nc .........OK
Expand Down Expand Up @@ -51,14 +51,14 @@ Moving baseline bit_base files ....
Moving RESTART/20210323.060000.sfc_data.tile5.nc .........OK
Moving RESTART/20210323.060000.sfc_data.tile6.nc .........OK

0: The total amount of wall time = 273.384410
0: The maximum resident set size (KB) = 1252756
0: The total amount of wall time = 261.545248
0: The maximum resident set size (KB) = 1268088

Test bit_base PASS


baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_dbg_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_478288/dbg_base_dbg_base
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_2423128/dbg_base_dbg_base
Checking test dbg_base results ....
Moving baseline dbg_base files ....
Moving sfcf000.nc .........OK
Expand Down Expand Up @@ -106,14 +106,14 @@ Moving baseline dbg_base files ....
Moving RESTART/20210323.060000.sfc_data.tile5.nc .........OK
Moving RESTART/20210323.060000.sfc_data.tile6.nc .........OK

0: The total amount of wall time = 948.187410
0: The maximum resident set size (KB) = 1232512
0: The total amount of wall time = 967.578197
0: The maximum resident set size (KB) = 1257076

Test dbg_base PASS


baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_478288/dcp_dcp
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_2423128/dcp_dcp
Checking test dcp results ....
Comparing sfcf000.nc .....USING NCCMP......OK
Comparing sfcf021.nc .....USING NCCMP......OK
Expand Down Expand Up @@ -160,14 +160,14 @@ Checking test dcp results ....
Comparing RESTART/20210323.060000.sfc_data.tile5.nc .....USING NCCMP......OK
Comparing RESTART/20210323.060000.sfc_data.tile6.nc .....USING NCCMP......OK

0: The total amount of wall time = 246.989736
0: The maximum resident set size (KB) = 1235588
0: The total amount of wall time = 242.264272
0: The maximum resident set size (KB) = 1250184

Test dcp PASS


baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_478288/mpi_mpi
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_2423128/mpi_mpi
Checking test mpi results ....
Comparing sfcf000.nc .....USING NCCMP......OK
Comparing sfcf021.nc .....USING NCCMP......OK
Expand Down Expand Up @@ -214,14 +214,14 @@ Checking test mpi results ....
Comparing RESTART/20210323.060000.sfc_data.tile5.nc .....USING NCCMP......OK
Comparing RESTART/20210323.060000.sfc_data.tile6.nc .....USING NCCMP......OK

0: The total amount of wall time = 243.345326
0: The maximum resident set size (KB) = 1230288
0: The total amount of wall time = 242.136596
0: The maximum resident set size (KB) = 1248008

Test mpi PASS


baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_478288/rst_rst
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_2423128/rst_rst
Checking test rst results ....
Comparing sfcf000.nc .....USING NCCMP......OK
Comparing sfcf021.nc .....USING NCCMP......OK
Expand Down Expand Up @@ -268,14 +268,14 @@ Checking test rst results ....
Comparing RESTART/20210323.060000.sfc_data.tile5.nc .....USING NCCMP......OK
Comparing RESTART/20210323.060000.sfc_data.tile6.nc .....USING NCCMP......OK

0: The total amount of wall time = 243.496287
0: The maximum resident set size (KB) = 1237700
0: The total amount of wall time = 238.165900
0: The maximum resident set size (KB) = 1248672

Test rst PASS


baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_478288/std_base_std_base
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_2423128/std_base_std_base
Checking test std_base results ....
Moving baseline std_base files ....
Moving sfcf000.nc .........OK
Expand Down Expand Up @@ -323,14 +323,14 @@ Moving baseline std_base files ....
Moving RESTART/20210323.060000.sfc_data.tile5.nc .........OK
Moving RESTART/20210323.060000.sfc_data.tile6.nc .........OK

0: The total amount of wall time = 238.877192
0: The maximum resident set size (KB) = 1230820
0: The total amount of wall time = 238.350921
0: The maximum resident set size (KB) = 1252224

Test std_base PASS


baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_478288/thr_thr
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_2423128/thr_thr
Checking test thr results ....
Comparing sfcf000.nc .....USING NCCMP......OK
Comparing sfcf021.nc .....USING NCCMP......OK
Expand Down Expand Up @@ -377,11 +377,11 @@ Checking test thr results ....
Comparing RESTART/20210323.060000.sfc_data.tile5.nc .....USING NCCMP......OK
Comparing RESTART/20210323.060000.sfc_data.tile6.nc .....USING NCCMP......OK

0: The total amount of wall time = 239.056770
0: The maximum resident set size (KB) = 1231348
0: The total amount of wall time = 240.189587
0: The maximum resident set size (KB) = 1247168

Test thr PASS

OPERATION REQUIREMENT TEST WAS SUCCESSFUL
Thu Apr 4 14:57:18 UTC 2024
Elapsed time: 01h:11m:52s. Have a nice day!
Mon Apr 8 19:15:35 UTC 2024
Elapsed time: 01h:12m:46s. Have a nice day!
24 changes: 12 additions & 12 deletions tests/logs/OpnReqTests_cpld_control_nowave_noaero_p8_hera.log
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Thu Apr 4 18:07:00 UTC 2024
Mon Apr 8 19:23:40 UTC 2024
Start Operation Requirement Test


baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/cpld_control_c96_noaero_p8_dbg_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_1261607/dbg_base_dbg_base
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_2519701/dbg_base_dbg_base
Checking test dbg_base results ....
Moving baseline dbg_base files ....
Moving sfcf021.tile1.nc .........OK
Expand Down Expand Up @@ -66,14 +66,14 @@ Moving baseline dbg_base files ....
Moving RESTART/iced.2021-03-23-21600.nc .........OK
Moving RESTART/ufs.cpld.cpl.r.2021-03-23-21600.nc .........OK

0: The total amount of wall time = 1344.317893
0: The maximum resident set size (KB) = 1342820
0: The total amount of wall time = 1341.650023
0: The maximum resident set size (KB) = 1370360

Test dbg_base PASS


baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/cpld_control_c96_noaero_p8_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_1261607/rst_rst
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_2519701/rst_rst
Checking test rst results ....
Comparing sfcf021.tile1.nc .....USING NCCMP......OK
Comparing sfcf021.tile2.nc .....USING NCCMP......OK
Expand Down Expand Up @@ -135,14 +135,14 @@ Checking test rst results ....
Comparing RESTART/iced.2021-03-23-21600.nc .....USING NCCMP......OK
Comparing RESTART/ufs.cpld.cpl.r.2021-03-23-21600.nc .....USING NCCMP......OK

0: The total amount of wall time = 391.350241
0: The maximum resident set size (KB) = 1343528
0: The total amount of wall time = 389.411111
0: The maximum resident set size (KB) = 1359432

Test rst PASS


baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/cpld_control_c96_noaero_p8_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_1261607/std_base_std_base
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_2519701/std_base_std_base
Checking test std_base results ....
Moving baseline std_base files ....
Moving sfcf021.tile1.nc .........OK
Expand Down Expand Up @@ -205,11 +205,11 @@ Moving baseline std_base files ....
Moving RESTART/iced.2021-03-23-21600.nc .........OK
Moving RESTART/ufs.cpld.cpl.r.2021-03-23-21600.nc .........OK

0: The total amount of wall time = 389.898125
0: The maximum resident set size (KB) = 1341344
0: The total amount of wall time = 388.613517
0: The maximum resident set size (KB) = 1359920

Test std_base PASS

OPERATION REQUIREMENT TEST WAS SUCCESSFUL
Thu Apr 4 19:08:57 UTC 2024
Elapsed time: 01h:01m:57s. Have a nice day!
Mon Apr 8 20:26:41 UTC 2024
Elapsed time: 01h:03m:01s. Have a nice day!
24 changes: 12 additions & 12 deletions tests/logs/OpnReqTests_regional_control_hera.log
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Thu Apr 4 16:05:04 UTC 2024
Tue Apr 9 12:15:38 UTC 2024
Start Operation Requirement Test


baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/regional_control_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_768169/dcp_dcp
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_654296/dcp_dcp
Checking test dcp results ....
Comparing dynf000.nc .....USING NCCMP......OK
Comparing dynf006.nc .....USING NCCMP......OK
Expand All @@ -14,14 +14,14 @@ Checking test dcp results ....
Comparing NATLEV.GrbF00 .....USING CMP......OK
Comparing NATLEV.GrbF06 .....USING CMP......OK

0: The total amount of wall time = 2149.189352
0: The maximum resident set size (KB) = 541572
0: The total amount of wall time = 2173.644877
0: The maximum resident set size (KB) = 560340

Test dcp PASS


baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/regional_control_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_768169/std_base_std_base
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_654296/std_base_std_base
Checking test std_base results ....
Moving baseline std_base files ....
Moving dynf000.nc .........OK
Expand All @@ -33,14 +33,14 @@ Moving baseline std_base files ....
Moving NATLEV.GrbF00 .........OK
Moving NATLEV.GrbF06 .........OK

0: The total amount of wall time = 2148.974341
0: The maximum resident set size (KB) = 544628
0: The total amount of wall time = 2203.053030
0: The maximum resident set size (KB) = 550920

Test std_base PASS


baseline dir = /scratch1/NCEPDEV/stmp4/Zachary.Shrader/FV3_OPNREQ_TEST/OPNREQ_TEST/regional_control_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_768169/thr_thr
working dir = /scratch1/NCEPDEV/stmp2/Zachary.Shrader/FV3_OPNREQ_TEST/opnReqTest_654296/thr_thr
Checking test thr results ....
Comparing dynf000.nc .....USING NCCMP......OK
Comparing dynf006.nc .....USING NCCMP......OK
Expand All @@ -51,11 +51,11 @@ Checking test thr results ....
Comparing NATLEV.GrbF00 .....USING CMP......OK
Comparing NATLEV.GrbF06 .....USING CMP......OK

0: The total amount of wall time = 2179.538342
0: The maximum resident set size (KB) = 543816
0: The total amount of wall time = 2229.689107
0: The maximum resident set size (KB) = 558500

Test thr PASS

OPERATION REQUIREMENT TEST WAS SUCCESSFUL
Thu Apr 4 18:04:34 UTC 2024
Elapsed time: 01h:59m:31s. Have a nice day!
Tue Apr 9 14:19:17 UTC 2024
Elapsed time: 02h:03m:40s. Have a nice day!
Loading

0 comments on commit 8a5f711

Please sign in to comment.