Skip to content

Commit

Permalink
merge latest master (NOAA-EMC#4)
Browse files Browse the repository at this point in the history
* Isotopes for CICE (CICE-Consortium#423)

Co-authored-by: apcraig <anthony.p.craig@gmail.com>
Co-authored-by: David Bailey <dbailey@ucar.edu>
Co-authored-by: Elizabeth Hunke <eclare@lanl.gov>

Convergence on ustar for CICE. (CICE-Consortium#452) (NOAA-EMC#5)

* Add atmiter_conv to CICE

* Add documentation

* trigger build the docs

Co-authored-by: David A. Bailey <dbailey@ucar.edu>

update icepack submodule

Add restart_coszen namelist option

updated orbital calculations needed for cesm

fixed problems in updated orbital calculations needed for cesm

update CICE6 to support coupling with UFS

put in changes so that both ufsatm and cesm requirements for potential temperature and density are satisfied

Fix threading problem in init_bgc

Fix additional OMP problems

Fix logging issues for NUOPC

Move the forapps directory

update icepack submodule

update comp_ice.backend with temporary ice_timers fix

changes for coldstart running

remove cesmcoupled ifdefs

removal of many cpp-ifdefs

fix compile errors

fixes to get cesm working

fixed white space issue

change Orion to orion in backend

remove duplicate print lines from ice_transport_driver

add -link_mpi=dbg to debug flags (NOAA-EMC#8)

cice6 compile (NOAA-EMC#6)

* enable debug build. fix to remove errors

* fix an error in comp_ice.backend.libcice

* change Orion to orion for machine identification

changes for consistency w/ current emc-cice5 (NOAA-EMC#13)

Update to emc/develop fork to current CICE consortium

Co-authored-by: David A. Bailey <dbailey@ucar.edu>
Co-authored-by: Tony Craig <apcraig@users.noreply.github.com>
Co-authored-by: Elizabeth Hunke <eclare@lanl.gov>
Co-authored-by: Mariana Vertenstein <mvertens@ucar.edu>
Co-authored-by: apcraig <anthony.p.craig@gmail.com>
Co-authored-by: Philippe Blain <levraiphilippeblain@gmail.com>

Fixcommit (NOAA-EMC#14)

Align commit history between emc/develop and cice-consortium/master

Update CICE6 for integration to S2S

* add wcoss_dell_p3 compiler macro

* update to icepack w/ debug fix

* replace SITE with MACHINE_ID

* update compile scripts

Support TACC stampede (NOAA-EMC#19)
  • Loading branch information
DeniseWorthen committed May 10, 2024
1 parent 0af031d commit d3f2e61
Show file tree
Hide file tree
Showing 77 changed files with 21,372 additions and 11,927 deletions.
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[submodule "icepack"]
path = icepack
url = https://github.com/cice-consortium/icepack
url = https://github.com/NOAA-EMC/Icepack
Binary file modified LICENSE.pdf
Binary file not shown.
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<!--- [![Travis-CI](https://travis-ci.org/CICE-Consortium/CICE.svg?branch=main)](https://travis-ci.org/CICE-Consortium/CICE) --->
[![GHActions](https://github.com/CICE-Consortium/CICE/workflows/GHActions/badge.svg)](https://github.com/CICE-Consortium/CICE/actions)
[![Documentation Status](https://readthedocs.org/projects/cice-consortium-cice/badge/?version=main)](http://cice-consortium-cice.readthedocs.io/en/main/?badge=main)
[![Build Status](https://travis-ci.org/CICE-Consortium/CICE.svg?branch=master)](https://travis-ci.org/CICE-Consortium/CICE)
[![Documentation Status](https://readthedocs.org/projects/cice-consortium-cice/badge/?version=master)](http://cice-consortium-cice.readthedocs.io/en/master/?badge=master)
[![lcov](https://img.shields.io/endpoint?url=https://apcraig.github.io/coverage.json)](https://apcraig.github.io)

<!--- [![codecov](https://codecov.io/gh/apcraig/Test_CICE_Icepack/branch/master/graph/badge.svg)](https://codecov.io/gh/apcraig/Test_CICE_Icepack) --->
Expand Down
156 changes: 23 additions & 133 deletions cice.setup
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
#!/bin/csh -f

#set pd0 = `date -u "+%s%N"`

set ICE_SANDBOX = `pwd`
set ICE_VERSION = unknown
if (-e cicecore/version.txt) then
Expand Down Expand Up @@ -392,18 +390,6 @@ if ((${dosuite} == 1 || ${dotest} == 1) && ${testid} == ${spval}) then
exit -1
endif
# This creates a new sandbox and modifies the source code for "improved" lcov analysis
# Turn this if block off if you don't want coverage to do that
if ($coverage == 1) then
set sandbox_lcov = ${ICE_SANDBOX}/../cice_lcov_${sdate}-${stime}
cp -p -r ${ICE_SANDBOX} ${sandbox_lcov}
echo "shifting to sandbox = ${sandbox_lcov}"
set ICE_SANDBOX = ${sandbox_lcov}
set ICE_SCRIPTS = "${ICE_SANDBOX}/configuration/scripts"
cd ${ICE_SANDBOX}
${ICE_SCRIPTS}/tests/lcov_modify_source.sh
endif
#---------------------------------------------------------------------
# Setup tsfile and test suite support stuff
Expand Down Expand Up @@ -455,22 +441,7 @@ if ( ${dosuite} == 0 ) then
set sets = ""
else
# generate unique set of suites in tarrays in order they are set
set tarrays0 = `echo ${testsuite} | sed 's/,/ /g' | fmt -1 `
#echo "${0}: tarrays0 = ${tarrays0}"
set tarrays = $tarrays0[1]
foreach t1 ( ${tarrays0} )
set found = 0
foreach t2 ( ${tarrays} )
if ( ${t1} == ${t2} ) then
set found = 1
endif
end
if ( ${found} == 0 ) then
set tarrays = ( ${tarrays} ${t1} )
endif
end
#echo "${0}: tarrays = ${tarrays}"
set tarrays = `echo ${testsuite} | sed 's/,/ /g' | fmt -1 | sort -u`
set testsuitecnt = 0
foreach tarray ( ${tarrays} )
@ testsuitecnt = ${testsuitecnt} + 1
Expand All @@ -497,14 +468,12 @@ else
exit -1
endif
cp -f ${ICE_SCRIPTS}/tests/report_results.csh ${tsdir}
cp -f ${ICE_SCRIPTS}/tests/create_fails.csh ${tsdir}
cp -f ${ICE_SCRIPTS}/tests/poll_queue.csh ${tsdir}
cat >! ${tsdir}/suite.submit << EOF0
#!/bin/csh -f
set nonomatch && rm -f ciceexe.* && unset nonomatch
rm -f suite.jobs
set dobuild = true
set doreuse = true
Expand Down Expand Up @@ -653,7 +622,7 @@ EOF
set bfbcomp_tmp = `echo $line | cut -d' ' -f5`
# Append sets from .ts file to the $sets variable
set sets = "$sets_tmp,$sets_base"
set sets = "$sets_base,$sets_tmp"
# Create a new bfbcomp_base variable to store bfbcomp passed to cice.setup
# Use bfbcomp_base or bfbcomp_tmp
Expand All @@ -663,6 +632,11 @@ EOF
set bfbcomp = "$bfbcomp_tmp"
endif
set fbfbcomp = ${spval}
if ($bfbcomp != ${spval}) then
set fbfbcomp = ${machcomp}_${bfbcomp}
endif
#------------------------------------------------------------
# Parse pesx with strict checking, limit pes for machine
Expand Down Expand Up @@ -765,46 +739,23 @@ EOF
endif
set testname_noid = ${spval}
# create case for test cases
set fbfbcomp = ${spval}
if ($bfbcomp != ${spval}) then
set fbfbcomp = ${machcomp}_${bfbcomp}
endif
if (${docase} == 0) then
set soptions = ""
# Create sorted array and remove duplicates and "none"
set setsarray = `echo ${sets_tmp} | sed 's/,/ /g' | fmt -1 | sort -u`
set setsarray = `echo ${sets} | sed 's/,/ /g' | fmt -1 | sort -u`
if ("${setsarray}" != "") then
foreach field (${setsarray})
if (${field} != "none") then
set soptions = ${soptions}"_"${field}
endif
end
endif
# Add options from command line, sort and remove duplicates
set soptions_base = ""
set setsarray_base = `echo ${sets_base} | sed 's/,/ /g' | fmt -1 | sort -u`
if ("${setsarray_base}" != "") then
foreach field (${setsarray_base})
set soptions = ${soptions}"_"${field}
set soptions_base = ${soptions_base}"_"${field}
end
endif
# soptions starts with _
set testname_noid = "${machcomp}_${test}_${grid}_${pesx}${soptions}"
set testname_base = "${machcomp}_${test}_${grid}_${pesx}${soptions}.${testid}"
set testname = "${tsdir}/${testname_base}"
set case = ${testname}
if (${dosuite} == 1) then
# Add -s flags in cice.setup to bfbcomp name
if ($bfbcomp != ${spval}) then
set fbfbcomp = ${machcomp}_${bfbcomp}${soptions_base}
endif
endif
endif
if (-d ${case}) then
Expand Down Expand Up @@ -833,8 +784,8 @@ EOF
# set default test output as failure
if (${docase} == 0) then
echo "#---" >! test_output
echo "PEND ${testname_noid} build" >> test_output
echo "PEND ${testname_noid} run" >> test_output
echo "FAIL ${testname_noid} build" >> test_output
echo "FAIL ${testname_noid} run" >> test_output
endif
# from basic script dir to case
Expand Down Expand Up @@ -928,9 +879,6 @@ EOF
echo "ICE_PES = ${task}x${thrd}"
echo "ICE_GRID = ${grid} (${ICE_DECOMP_NXGLOB}x${ICE_DECOMP_NYGLOB}) blocksize=${ICE_DECOMP_BLCKX}x${ICE_DECOMP_BLCKY}x${ICE_DECOMP_MXBLCKS}"
echo "ICE_DECOMP = ${ICE_DECOMP_DECOMP} ${ICE_DECOMP_DSHAPE}"
if ($fbfbcomp != ${spval}) then
echo "ICE_BFBCOMP = ${fbfbcomp}"
endif
#------------------------------------------------------------
# Copy in and update cice.settings and ice_in files
Expand All @@ -943,21 +891,9 @@ EOF
if (-e ${fimods}) rm ${fimods}
if (-e ${fsmods}) rm ${fsmods}
# Use an existing ice_in file from the suite if it exists
# to reduce time spent in parse_namelist
set skip_parse_namelist = spval
if (${dosuite} == 1) then
set iceinfn = ../ice_in_save_${grid}${soptions}
if (-e ${iceinfn}) then
echo "use ${iceinfn}"
cp ${iceinfn} ice_in
set skip_parse_namelist = true
endif
endif
# Set decomp info in namelist
cat >! ${fimods} << EOF1
# cice.setup settings
nprocs = ${task}
nx_global = ${ICE_DECOMP_NXGLOB}
ny_global = ${ICE_DECOMP_NYGLOB}
Expand Down Expand Up @@ -986,6 +922,7 @@ EOF1
cat >! ${fsmods} << EOF1
# cice.setup settings
setenv ICE_SANDBOX ${ICE_SANDBOX}
setenv ICE_SCRIPTS ${ICE_SCRIPTS}
setenv ICE_CASENAME ${casename}
Expand Down Expand Up @@ -1054,59 +991,42 @@ EOF1
foreach name (${grid} $setsx)
set found = 0
if (-e ${ICE_SCRIPTS}/options/set_nml.${name}) then
cat >> ${fimods} << EOF2
# set_nml.${name}
EOF2
if ("${skip_parse_namelist}" == "true") then
# need to make sure the decomp info from the set_nml is picked up. each case
# has a slightly different decomp that is independent of the ice_in_save file.
# compute that then overwrite by set_nml as needed.
grep -i "distribution_type" ${ICE_SCRIPTS}/options/set_nml.${name} >> ${fimods}
grep -i "processor_shape" ${ICE_SCRIPTS}/options/set_nml.${name} >> ${fimods}
cat >> ${fimods} << EOF2
# using saved ice_in
EOF2
else
cat ${ICE_SCRIPTS}/options/set_nml.${name} >> ${fimods}
cat >> ${fimods} << EOF2
cat ${ICE_SCRIPTS}/options/set_nml.${name} >> ${fimods}
cat >> ${fimods} << EOF2
EOF2
endif
echo "adding namelist mods set_nml.${name}"
echo "`date` ${0} adding namelist modes set_nml.${name}" >> ${casedir}/README.case
set found = 1
endif
if (-e ${ICE_SCRIPTS}/options/set_env.${name}) then
cat >> ${fsmods} << EOF2
# set_env.${name}
EOF2
cat ${ICE_SCRIPTS}/options/set_env.${name} >> ${fsmods}
cat >> ${fsmods} << EOF2
EOF2
echo "adding env mods set_env.${name}"
echo "`date` ${0} adding namelist modes set_env.${name}" >> ${casedir}/README.case
set found = 1
endif
if (${found} == 0) then
echo "${0}: ERROR, ${ICE_SCRIPTS}/options/set_[nml,env].${name} not found"
exit -1
endif
end
#set pd1 = `date -u "+%s%N"`
#@ pdd = ( $pd1 - $pd0 ) / 1000000
#echo "tcxp b4 parse $pdd"
${casescr}/parse_settings.sh cice.settings ${fsmods}
if ($status != 0) then
echo "${0}: ERROR, parse_settings.sh aborted"
exit -1
endif
${casescr}/parse_namelist.sh ice_in ${fimods}
if ($status != 0) then
echo "${0}: ERROR, parse_namelist.sh aborted"
Expand All @@ -1115,20 +1035,6 @@ EOF2
source ./cice.settings
source ./env.${machcomp} -nomodules || exit 2
${casescr}/parse_namelist_from_env.sh ice_in
if ($status != 0) then
echo "${0}: ERROR, parse_namelist_from_env.sh aborted"
exit -1
endif
#set pd1 = `date -u "+%s%N"`
#@ pdd = ( $pd1 - $pd0 ) / 1000000
#echo "tcxp after parse $pdd"
# Save ice_in in the suite to reduce time spent in parse_namelist
if (${dosuite} == 1) then
if !(-e ${iceinfn}) then
cp ice_in ${iceinfn}
endif
endif
#------------------------------------------------------------
# Generate run script
Expand Down Expand Up @@ -1186,26 +1092,19 @@ echo "-------test--------------"
echo "${testname_base}"
cd ${testname_base}
source ./cice.settings
set bldstat = 0
if (\${dobuild} == true) then
if (\${doreuse} == true) then
set ciceexe = "../ciceexe.\${ICE_TARGET}.\${ICE_ENVNAME}.\${ICE_COMMDIR}.\${ICE_BLDDEBUG}.\${ICE_THREADED}.\${ICE_IOTYPE}.\${ICE_SNICARHC}"
set ciceexe = "../ciceexe.\${ICE_ENVNAME}.\${ICE_COMMDIR}.\${ICE_BLDDEBUG}.\${ICE_THREADED}.\${ICE_IOTYPE}"
./cice.build --exe \${ciceexe}
set bldstat = \${status}
if !(-e \${ciceexe}) cp -p \${ICE_RUNDIR}/cice \${ciceexe}
else
./cice.build
set bldstat = \${status}
endif
endif
if (\$bldstat == 0) then
if (\${dosubmit} == true) then
set jobid = \`./cice.submit\`
echo "\$jobid"
echo "\$jobid \${ICE_TESTNAME} " >> ../suite.jobs
else if (\${dorun} == true) then
./cice.test
endif
if (\${dosubmit} == true) then
./cice.submit | tee -a ../suite.jobs
else if (\${dorun} == true) then
./cice.test
endif
cd ..
EOF
Expand All @@ -1218,10 +1117,6 @@ EOF
echo ""
endif
#set pd1 = `date -u "+%s%N"`
#@ pdd = ( $pd1 - $pd0 ) / 1000000
#echo "tcxp case done $pdd"
# This is the foreach end for the testsuite
end
# This is the foreach end for the envnames
Expand All @@ -1236,7 +1131,6 @@ if ( ${dosuite} == 1 ) then
cat >> ${tsdir}/suite.submit << EOF0
set nonomatch && rm -f ciceexe.* && unset nonomatch
set nonomatch && rm -f ice_in_save* && unset nonomatch
EOF0
Expand Down Expand Up @@ -1279,10 +1173,6 @@ endif
#---------------------------------------------
#set pd1 = `date -u "+%s%N"`
#@ pdd = ( $pd1 - $pd0 ) / 1000000
#echo "tcxp done $pdd"
echo " "
echo "${0} done"
echo " "
Expand Down
Loading

0 comments on commit d3f2e61

Please sign in to comment.