├── .gitattributes ├── cicecore ├── version.txt ├── drivers │ ├── unittest │ │ ├── helloworld │ │ │ └── helloworld.F90 │ │ └── opticep │ │ │ └── README │ ├── mct │ │ └── cesm1 │ │ │ ├── ice_scam.F90 │ │ │ └── CICE_copyright.txt │ ├── nuopc │ │ └── cmeps │ │ │ ├── ice_scam.F90 │ │ │ └── CICE_copyright.txt │ └── mapl │ │ └── geos │ │ ├── CICE_copyright.txt │ │ └── ice_shr_methods.F90 └── shared │ └── ice_kinds_mod.F90 ├── configuration └── scripts │ ├── options │ ├── set_nml.cdf64 │ ├── set_env.gx1 │ ├── set_nml.diag1 │ ├── set_nml.diag24 │ ├── set_nml.dt1hr │ ├── set_nml.dt30min │ ├── set_nml.dt3456s │ ├── set_nml.dyneap │ ├── set_nml.gridb │ ├── set_nml.icnone │ ├── set_env.cmplog │ ├── set_env.debug │ ├── set_env.iopio2 │ ├── set_env.qcchk │ ├── set_env.snicar │ ├── set_nml.atmbndymixed │ ├── set_nml.calcdragio │ ├── set_nml.icdefault │ ├── set_nml.reprosum │ ├── set_nml.timerstats │ ├── set_env.cmprest │ ├── set_env.iobinary │ ├── set_env.ionetcdf │ ├── set_env.long │ ├── set_env.medium │ ├── set_env.memlarge │ ├── set_env.memmed │ ├── set_env.memsmall │ ├── set_env.qcchkf │ ├── set_env.short │ ├── set_nml.atmbndyconstant │ ├── set_nml.debugblocks │ ├── set_nml.dwblock │ ├── set_nml.dwlat │ ├── set_nml.kmtislands │ ├── set_nml.nonlin5000 │ ├── set_nml.precision8 │ ├── set_env.buildclean │ ├── set_env.cmplogrest │ ├── set_env.lapack │ ├── set_env.ompscheds │ ├── set_env.ompscheds1 │ ├── set_env.thread │ ├── set_nml.dsectcart │ ├── set_nml.dwblockall │ ├── set_nml.evp1d │ ├── set_nml.isotope │ ├── set_env.buildincremental │ ├── set_env.ompschedd1 │ ├── set_nml.congel │ ├── set_nml.droundrobin │ ├── set_nml.dsectrobin │ ├── set_nml.dspacecurve │ ├── set_nml.none │ ├── set_nml.scale1 │ ├── set_nml.dspiralcenter │ ├── set_nml.restaicetest │ ├── set_nml.iocdf1 │ ├── set_nml.iocdf2 │ ├── set_nml.iocdf5 │ ├── set_nml.iohdf5 │ ├── set_nml.yi2008 │ ├── set_env.iopio1 │ ├── set_nml.drakeX1 │ ├── set_nml.drakeX2 │ ├── set_nml.iopnetcdf1 │ ├── set_nml.iopnetcdf2 │ ├── set_nml.iopnetcdf5 │ ├── set_nml.open │ ├── set_nml.cyclic │ ├── set_nml.drakeice │ ├── set_nml.drakepop │ ├── set_nml.dwghtfile │ ├── set_env.bcstchk │ ├── set_env.calchk │ ├── set_env.halochk │ ├── set_env.optargs │ ├── set_env.opticep │ ├── set_env.sumchk │ ├── set_nml.dslenderX1 │ ├── set_nml.dslenderX2 │ ├── set_nml.dsquareice │ ├── set_nml.dsquarepop │ ├── set_nml.fsd1 │ ├── set_nml.modal │ ├── set_nml.run3dt │ ├── set_nml.saltflux │ ├── set_nml.fsd12 │ ├── set_nml.gridc │ ├── set_env.gridavgchk │ ├── set_env.helloworld │ ├── set_nml.diagimp │ ├── set_nml.iobinary │ ├── set_nml.jra55 │ ├── set_nml.jra55do │ ├── set_nml.snicar │ ├── set_nml.snicartest │ ├── set_nml.alt06 │ ├── set_nml.snw30percent │ ├── set_nml.tripole │ ├── set_nml.tripolet │ ├── set_nml.maskhalo │ ├── set_nml.run2day │ ├── set_nml.run5day │ ├── set_nml.run60day │ ├── set_nml.run90day │ ├── set_nml.histinst │ ├── set_nml.run10day │ ├── set_nml.iohdf5opts │ ├── set_nml.dynpicard │ ├── set_nml.dynanderson │ ├── set_nml.run10year │ ├── set_nml.run1year │ ├── set_nml.run8year │ ├── set_nml.zaero │ ├── set_nml.alt07 │ ├── set_nml.run1day │ ├── set_nml.run3day │ ├── test_nml.restart2 │ ├── set_nml.boxforcee │ ├── set_nml.boxforcen │ ├── set_nml.gx1apr │ ├── test_nml.restart22 │ ├── set_nml.boxforcene │ ├── set_nml.gx3nc │ ├── set_nml.diagpt1 │ ├── set_nml.fsd12ww3 │ ├── set_nml.seabedLKD │ ├── test_nml.restart1 │ ├── test_nml.restart21 │ ├── set_nml.seabedprob │ ├── set_nml.gx3sep2 │ ├── set_nml.alt05 │ ├── set_nml.bigdiag │ ├── set_nml.gridcd │ ├── set_nml.ml │ ├── set_nml.snwitdrdg │ ├── set_nml.gx3ncarbulk │ ├── set_nml.iopioopts │ ├── set_nml.e3sm │ ├── set_nml.gbox12 │ ├── set_nml.gbox80 │ ├── set_nml.histhrly │ ├── set_nml.gbox180 │ ├── set_nml.gbox128 │ ├── set_nml.vargrid │ ├── set_nml.qc │ ├── set_nml.alt02 │ ├── set_nml.tx1 │ ├── set_nml.gx1prod │ ├── set_nml.gx1prod15 │ ├── set_nml.snwgrain │ ├── set_nml.alt03 │ ├── set_nml.alt01 │ ├── set_nml.boxadv │ ├── set_nml.alt04 │ ├── set_nml.bgcskl │ ├── set_nml.pondsealvl │ ├── set_nml.gx3 │ ├── set_nml.bgcsklclim │ ├── set_nml.boxslotcyl │ ├── set_nml.boxrestore │ ├── set_nml.gx1 │ ├── set_nml.boxopen │ ├── set_nml.box2001 │ ├── set_nml.bgcz │ ├── set_nml.bgczm │ ├── set_nml.boxclosed │ ├── set_nml.boxchan1e │ ├── set_nml.boxchan1n │ ├── set_nml.bgczclim │ └── set_nml.boxnodyn │ ├── tests │ ├── test_restart.files │ ├── test_restart2.files │ ├── QC │ │ ├── CICE_t_critical_p0.8.nc │ │ ├── CICE_t_lookup_p0.8_n1825.nc │ │ ├── CICE_Lookup_Table_p0.8_n1825.nc │ │ └── CICE_Lookup_Table_p0.95_n1825.nc │ ├── qctest.yml │ ├── nothread_quicksuite.ts │ ├── test_decomp.files │ ├── quick_suite.ts │ ├── travis_suite.ts │ ├── e3sm_suite.ts │ ├── prod_suite.ts │ ├── cice.codecov.csh │ ├── create_fails.csh │ ├── poll_queue.csh │ ├── first_suite.ts │ ├── rgvers_suite.ts │ ├── test_unittest.script │ ├── reprosum_suite.ts │ ├── lcov_modify_source.sh │ ├── test_smoke.script │ └── cice.lcov.csh │ ├── setup_run_dirs.csh │ ├── machines │ ├── environment.yml │ ├── env.nrlssc_gnu │ ├── env.high_Sierra_gnu │ ├── env.testmachine_intel │ ├── env.hobart_nag │ ├── env.ppp6_gnu │ ├── env.hobart_intel │ ├── env.travisCI_gnu │ ├── env.phase3_intel │ ├── env.izumi_pgi │ ├── env.izumi_gnu │ ├── env.izumi_intel │ ├── Macros.daley_gnu │ ├── Macros.banting_gnu │ ├── Macros.izumi_pgi │ ├── env.izumi_nag │ ├── env.hera_intel │ ├── Macros.banting_intel │ ├── Macros.daley_intel │ ├── Macros.ppp6_gnu │ ├── Macros.ppp6_gnu-impi │ ├── Macros.izumi_nag │ ├── env.ppp3_intel │ ├── Macros.compy_intel │ ├── Macros.discover_intel │ ├── env.gaeac5_intel │ ├── env.daley_intel │ ├── Macros.izumi_intel │ ├── env.gpsc3_intel │ ├── env.banting_intel │ ├── env.ursa_intel │ ├── Macros.freya_gnu │ ├── env.gaffney_gnu │ ├── env.orion_intel │ ├── env.gaffney_intel │ ├── env.fram_intel │ ├── Macros.gpsc3_intel │ ├── Macros.ppp3_intel │ ├── env.koehr_intel │ ├── env.mustang_intel18 │ ├── env.mustang_intel19 │ ├── env.mustang_intel20 │ ├── env.daley_gnu │ ├── env.gaeac6_intel │ ├── env.compy_intel │ ├── Macros.high_Sierra_gnu │ ├── Macros.mustang_intel18 │ ├── Macros.mustang_intel19 │ ├── Macros.mustang_intel20 │ ├── Macros.phase3_intel │ ├── env.ppp6_gnu-impi │ ├── env.banting_gnu │ ├── env.robert_intel │ ├── env.freya_intel │ ├── Macros.ppp5_intel │ ├── Macros.ppp6_intel │ ├── env.conda_linux │ ├── env.underhill_intel │ ├── Macros.ppp6_intel19 │ ├── Macros.robert_intel │ ├── Macros.underhill_intel │ ├── Macros.hobart_intel │ ├── Macros.wcoss_dell_p3_intel │ ├── Macros.onyx_cray │ ├── env.freya_gnu │ ├── env.ppp6_intel19 │ ├── Macros.conda_linux │ ├── Macros.hobart_nag │ ├── Macros.perlmutter_cray │ ├── Macros.izumi_gnu │ ├── Macros.testmachine_intel │ └── env.ppp5_intel │ ├── parse_namelist_from_env.sh │ └── set_version_number.csh ├── COPYRIGHT.pdf ├── LICENSE.pdf ├── doc ├── requirements.txt ├── PDF │ ├── BL_NCAR2007.pdf │ ├── JDWSTWLG06.pdf │ ├── KL_NCAR2002.pdf │ ├── LAUR-03-2219.pdf │ └── LAUR-95-1146.pdf └── source │ ├── user_guide │ ├── figures │ │ ├── grid.png │ │ ├── distrb.png │ │ ├── distrbB.png │ │ ├── pdf │ │ │ ├── EAP.pdf │ │ │ ├── gplot.pdf │ │ │ ├── grid.pdf │ │ │ ├── topo2.pdf │ │ │ ├── topo3.pdf │ │ │ ├── albedo.pdf │ │ │ ├── deparr.pdf │ │ │ ├── timings.pdf │ │ │ ├── histograms.pdf │ │ │ ├── triangles.pdf │ │ │ ├── tracergraphic.pdf │ │ │ ├── craig_ciceperf_ehunke.pdf │ │ │ ├── distrb_cart_X1_20x24_16.pdf │ │ │ ├── distrb_cart_X2_20x24_16.pdf │ │ │ ├── distrb_cart_sqr_20x24_16.pdf │ │ │ ├── distrb_rake_lat_20x24_16.pdf │ │ │ ├── distrb_sfc_lat_20x24_16.pdf │ │ │ └── distrb_rake_block_20x24_16.pdf │ │ ├── scorecard.png │ │ ├── CICE_Bgrid.png │ │ ├── CICE_Cgrid.png │ │ ├── extra │ │ │ ├── topo2.png │ │ │ ├── topo3.png │ │ │ ├── distrb_cart_X1_20x24_16.png │ │ │ ├── distrb_cart_X2_20x24_16.png │ │ │ ├── distrb_sfc_lat_20x24_16.png │ │ │ ├── distrb_cart_sqr_20x24_16.png │ │ │ ├── distrb_rake_lat_20x24_16.png │ │ │ └── distrb_rake_block_20x24_16.png │ │ └── histograms.png │ └── index.rst │ ├── science_guide │ ├── figures │ │ ├── EAP.png │ │ ├── albedo.png │ │ ├── deparr.png │ │ ├── gplot.png │ │ ├── topo.png │ │ ├── triangles.png │ │ └── tracergraphic.png │ └── index.rst │ ├── developer_guide │ ├── figures │ │ └── jra55data.png │ ├── index.rst │ └── dg_icepack.rst │ ├── zreferences.rst │ ├── intro │ ├── index.rst │ ├── acknowledgements.rst │ ├── copyright.rst │ ├── citing.rst │ └── quickstart.rst │ ├── index.rst │ └── BIB_TEMPLATE.txt ├── DistributionPolicy.pdf ├── .gitmodules ├── codecov.yml ├── .github └── workflows │ └── write_logfiles.csh ├── .gitignore ├── .readthedocs.yaml └── CONTRIBUTING.md /.gitattributes: -------------------------------------------------------------------------------- 1 | *.F90 diff=fortran 2 | -------------------------------------------------------------------------------- /cicecore/version.txt: -------------------------------------------------------------------------------- 1 | CICE 6.6.2 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.cdf64: -------------------------------------------------------------------------------- 1 | lcdf64 = .true. 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.gx1: -------------------------------------------------------------------------------- 1 | setenv ICE_MEMUSE 5 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.diag1: -------------------------------------------------------------------------------- 1 | diagfreq = 1 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.diag24: -------------------------------------------------------------------------------- 1 | diagfreq = 24 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.dt1hr: -------------------------------------------------------------------------------- 1 | dt = 3600.0 2 | 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.dt30min: -------------------------------------------------------------------------------- 1 | dt = 1800.0 2 | 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.dt3456s: -------------------------------------------------------------------------------- 1 | dt = 3456.0 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.dyneap: -------------------------------------------------------------------------------- 1 | kdyn = 2 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.gridb: -------------------------------------------------------------------------------- 1 | grid_ice = 'B' 2 | 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.icnone: -------------------------------------------------------------------------------- 1 | ice_ic = 'none' 2 | -------------------------------------------------------------------------------- /COPYRIGHT.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/COPYRIGHT.pdf -------------------------------------------------------------------------------- /LICENSE.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/LICENSE.pdf -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.cmplog: -------------------------------------------------------------------------------- 1 | setenv ICE_BFBTYPE log 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.debug: -------------------------------------------------------------------------------- 1 | setenv ICE_BLDDEBUG true 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.iopio2: -------------------------------------------------------------------------------- 1 | setenv ICE_IOTYPE pio2 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.qcchk: -------------------------------------------------------------------------------- 1 | setenv ICE_BFBTYPE qcchk 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.snicar: -------------------------------------------------------------------------------- 1 | setenv ICE_SNICARHC true 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.atmbndymixed: -------------------------------------------------------------------------------- 1 | atmbndy = 'mixed' 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.calcdragio: -------------------------------------------------------------------------------- 1 | calc_dragio = .true. 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.icdefault: -------------------------------------------------------------------------------- 1 | ice_ic = 'internal' 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.reprosum: -------------------------------------------------------------------------------- 1 | bfbflag = 'reprosum' 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.timerstats: -------------------------------------------------------------------------------- 1 | timer_stats = .true. 2 | -------------------------------------------------------------------------------- /doc/requirements.txt: -------------------------------------------------------------------------------- 1 | # 2 | # 3 | sphinxcontrib-bibtex 4 | # 5 | # 6 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.cmprest: -------------------------------------------------------------------------------- 1 | setenv ICE_BFBTYPE restart 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.iobinary: -------------------------------------------------------------------------------- 1 | setenv ICE_IOTYPE binary 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.ionetcdf: -------------------------------------------------------------------------------- 1 | setenv ICE_IOTYPE netcdf 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.long: -------------------------------------------------------------------------------- 1 | setenv ICE_RUNLENGTH 8 2 | 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.medium: -------------------------------------------------------------------------------- 1 | setenv ICE_RUNLENGTH 4 2 | 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.memlarge: -------------------------------------------------------------------------------- 1 | setenv ICE_MEMUSE 8 2 | 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.memmed: -------------------------------------------------------------------------------- 1 | setenv ICE_MEMUSE 4 2 | 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.memsmall: -------------------------------------------------------------------------------- 1 | setenv ICE_MEMUSE 1 2 | 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.qcchkf: -------------------------------------------------------------------------------- 1 | setenv ICE_BFBTYPE qcchkf 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.short: -------------------------------------------------------------------------------- 1 | setenv ICE_RUNLENGTH 1 2 | 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.atmbndyconstant: -------------------------------------------------------------------------------- 1 | atmbndy = 'constant' 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.debugblocks: -------------------------------------------------------------------------------- 1 | debug_blocks = .true. 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.dwblock: -------------------------------------------------------------------------------- 1 | distribution_wght = 'block' 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.dwlat: -------------------------------------------------------------------------------- 1 | distribution_wght = 'latitude' 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.kmtislands: -------------------------------------------------------------------------------- 1 | kmt_type = 'boxislands' 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.nonlin5000: -------------------------------------------------------------------------------- 1 | maxits_nonlin = 5000 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.precision8: -------------------------------------------------------------------------------- 1 | history_precision = 8 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.buildclean: -------------------------------------------------------------------------------- 1 | setenv ICE_CLEANBUILD true 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.cmplogrest: -------------------------------------------------------------------------------- 1 | setenv ICE_BFBTYPE logrest 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.lapack: -------------------------------------------------------------------------------- 1 | setenv ICE_CPPDEFS -DUSE_LAPACK 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.ompscheds: -------------------------------------------------------------------------------- 1 | setenv ICE_OMPSCHED "static" 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.ompscheds1: -------------------------------------------------------------------------------- 1 | setenv ICE_OMPSCHED "static,1" 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.thread: -------------------------------------------------------------------------------- 1 | setenv ICE_THREADED true 2 | 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.dsectcart: -------------------------------------------------------------------------------- 1 | distribution_type = 'sectcart' 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.dwblockall: -------------------------------------------------------------------------------- 1 | distribution_wght = 'blockall' 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.evp1d: -------------------------------------------------------------------------------- 1 | evp_algorithm = 'shared_mem_1d' 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.isotope: -------------------------------------------------------------------------------- 1 | n_iso = 3 2 | tr_iso = .true. 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.buildincremental: -------------------------------------------------------------------------------- 1 | setenv ICE_CLEANBUILD false 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.ompschedd1: -------------------------------------------------------------------------------- 1 | setenv ICE_OMPSCHED "dynamic,1" 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.congel: -------------------------------------------------------------------------------- 1 | congel_freeze = 'one-step' 2 | 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.droundrobin: -------------------------------------------------------------------------------- 1 | distribution_type = 'roundrobin' 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.dsectrobin: -------------------------------------------------------------------------------- 1 | distribution_type = 'sectrobin' 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.dspacecurve: -------------------------------------------------------------------------------- 1 | distribution_type = 'spacecurve' 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.none: -------------------------------------------------------------------------------- 1 | # this serves as a empty place holder 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.scale1: -------------------------------------------------------------------------------- 1 | dxscale = 1.d0 2 | dyscale = 1.d0 3 | -------------------------------------------------------------------------------- /DistributionPolicy.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/DistributionPolicy.pdf -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.dspiralcenter: -------------------------------------------------------------------------------- 1 | distribution_type = 'spiralcenter' 2 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.restaicetest: -------------------------------------------------------------------------------- 1 | restart_mod = "adjust_aice_test" 2 | 3 | -------------------------------------------------------------------------------- /configuration/scripts/tests/test_restart.files: -------------------------------------------------------------------------------- 1 | test_nml.restart1 2 | test_nml.restart2 3 | -------------------------------------------------------------------------------- /configuration/scripts/tests/test_restart2.files: -------------------------------------------------------------------------------- 1 | test_nml.restart21 2 | test_nml.restart22 3 | -------------------------------------------------------------------------------- /doc/PDF/BL_NCAR2007.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/PDF/BL_NCAR2007.pdf -------------------------------------------------------------------------------- /doc/PDF/JDWSTWLG06.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/PDF/JDWSTWLG06.pdf -------------------------------------------------------------------------------- /doc/PDF/KL_NCAR2002.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/PDF/KL_NCAR2002.pdf -------------------------------------------------------------------------------- /doc/PDF/LAUR-03-2219.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/PDF/LAUR-03-2219.pdf -------------------------------------------------------------------------------- /doc/PDF/LAUR-95-1146.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/PDF/LAUR-95-1146.pdf -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.iocdf1: -------------------------------------------------------------------------------- 1 | restart_format = 'cdf1' 2 | history_format = 'cdf1' 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.iocdf2: -------------------------------------------------------------------------------- 1 | restart_format = 'cdf2' 2 | history_format = 'cdf2' 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.iocdf5: -------------------------------------------------------------------------------- 1 | restart_format = 'cdf5' 2 | history_format = 'cdf5' 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.iohdf5: -------------------------------------------------------------------------------- 1 | restart_format = 'hdf5' 2 | history_format = 'hdf5' 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.yi2008: -------------------------------------------------------------------------------- 1 | year_init = 2008 2 | fyear_init = 2008 3 | 4 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.iopio1: -------------------------------------------------------------------------------- 1 | setenv ICE_IOTYPE pio1 2 | setenv ICE_CPPDEFS -DUSE_PIO1 3 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "icepack"] 2 | path = icepack 3 | url = https://github.com/cice-consortium/icepack 4 | -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | range: "20...100" 3 | round: down 4 | precision: 2 5 | 6 | comment: false 7 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.drakeX1: -------------------------------------------------------------------------------- 1 | distribution_type = 'rake' 2 | processor_shape = 'slenderX1' 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.drakeX2: -------------------------------------------------------------------------------- 1 | distribution_type = 'rake' 2 | processor_shape = 'slenderX2' 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.iopnetcdf1: -------------------------------------------------------------------------------- 1 | restart_format = 'pnetcdf1' 2 | history_format = 'pnetcdf1' 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.iopnetcdf2: -------------------------------------------------------------------------------- 1 | restart_format = 'pnetcdf2' 2 | history_format = 'pnetcdf2' 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.iopnetcdf5: -------------------------------------------------------------------------------- 1 | restart_format = 'pnetcdf5' 2 | history_format = 'pnetcdf5' 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.open: -------------------------------------------------------------------------------- 1 | ew_boundary_type = 'open' 2 | ns_boundary_type = 'open' 3 | 4 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.cyclic: -------------------------------------------------------------------------------- 1 | ew_boundary_type = 'cyclic' 2 | ns_boundary_type = 'cyclic' 3 | 4 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.drakeice: -------------------------------------------------------------------------------- 1 | distribution_type = 'rake' 2 | processor_shape = 'square-ice' 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.drakepop: -------------------------------------------------------------------------------- 1 | distribution_type = 'rake' 2 | processor_shape = 'square-pop' 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.dwghtfile: -------------------------------------------------------------------------------- 1 | distribution_type = 'wghtfile' 2 | distribution_wght = 'file' 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.bcstchk: -------------------------------------------------------------------------------- 1 | setenv ICE_DRVOPT unittest/bcstchk 2 | setenv ICE_TARGET bcstchk 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.calchk: -------------------------------------------------------------------------------- 1 | setenv ICE_DRVOPT unittest/calchk 2 | setenv ICE_TARGET calchk 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.halochk: -------------------------------------------------------------------------------- 1 | setenv ICE_DRVOPT unittest/halochk 2 | setenv ICE_TARGET halochk 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.optargs: -------------------------------------------------------------------------------- 1 | setenv ICE_DRVOPT unittest/optargs 2 | setenv ICE_TARGET optargs 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.opticep: -------------------------------------------------------------------------------- 1 | setenv ICE_DRVOPT unittest/opticep 2 | setenv ICE_TARGET opticep 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.sumchk: -------------------------------------------------------------------------------- 1 | setenv ICE_DRVOPT unittest/sumchk 2 | setenv ICE_TARGET sumchk 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.dslenderX1: -------------------------------------------------------------------------------- 1 | distribution_type = 'cartesian' 2 | processor_shape = 'slenderX1' 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.dslenderX2: -------------------------------------------------------------------------------- 1 | distribution_type = 'cartesian' 2 | processor_shape = 'slenderX2' 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.dsquareice: -------------------------------------------------------------------------------- 1 | distribution_type = 'cartesian' 2 | processor_shape = 'square-ice' 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.dsquarepop: -------------------------------------------------------------------------------- 1 | distribution_type = 'cartesian' 2 | processor_shape = 'square-pop' 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.fsd1: -------------------------------------------------------------------------------- 1 | tr_fsd = .true. 2 | nfsd = 1 3 | wave_spec_type = 'none' 4 | nfreq = 25 5 | 6 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.modal: -------------------------------------------------------------------------------- 1 | shortwave = 'dEdd' 2 | tr_aero = .true. 3 | modal_aero = .true. 4 | 5 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.run3dt: -------------------------------------------------------------------------------- 1 | npt_unit = '1' 2 | npt = 3 3 | dump_last = .true. 4 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.saltflux: -------------------------------------------------------------------------------- 1 | ktherm = 2 2 | saltflux_option = 'prognostic' 3 | -------------------------------------------------------------------------------- /doc/source/user_guide/figures/grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/grid.png -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.fsd12: -------------------------------------------------------------------------------- 1 | tr_fsd = .true. 2 | nfsd = 12 3 | wave_spec_type = 'profile' 4 | nfreq = 25 5 | 6 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.gridc: -------------------------------------------------------------------------------- 1 | grid_ice = 'C' 2 | dyn_area_min = 0.001d0 3 | dyn_mass_min = 0.01d0 4 | 5 | -------------------------------------------------------------------------------- /doc/source/science_guide/figures/EAP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/science_guide/figures/EAP.png -------------------------------------------------------------------------------- /doc/source/user_guide/figures/distrb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/distrb.png -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.gridavgchk: -------------------------------------------------------------------------------- 1 | setenv ICE_DRVOPT unittest/gridavgchk 2 | setenv ICE_TARGET gridavgchk 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_env.helloworld: -------------------------------------------------------------------------------- 1 | setenv ICE_DRVOPT unittest/helloworld 2 | setenv ICE_TARGET helloworld 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.diagimp: -------------------------------------------------------------------------------- 1 | monitor_nonlin = .true. 2 | monitor_fgmres = .true. 3 | monitor_pgmres = .true. 4 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.iobinary: -------------------------------------------------------------------------------- 1 | ice_ic = 'internal' 2 | history_format = 'binary' 3 | restart_format = 'binary' 4 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.jra55: -------------------------------------------------------------------------------- 1 | atm_data_format = 'nc' 2 | atm_data_type = 'JRA55' 3 | atm_data_version = '' 4 | 5 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.jra55do: -------------------------------------------------------------------------------- 1 | atm_data_format = 'nc' 2 | atm_data_type = 'JRA55do' 3 | atm_data_version = '' 4 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.snicar: -------------------------------------------------------------------------------- 1 | shortwave = 'dEdd_snicar_ad' 2 | snw_ssp_table = 'snicar' 3 | 4 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.snicartest: -------------------------------------------------------------------------------- 1 | shortwave = 'dEdd_snicar_ad' 2 | snw_ssp_table = 'test' 3 | 4 | -------------------------------------------------------------------------------- /doc/source/science_guide/figures/albedo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/science_guide/figures/albedo.png -------------------------------------------------------------------------------- /doc/source/science_guide/figures/deparr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/science_guide/figures/deparr.png -------------------------------------------------------------------------------- /doc/source/science_guide/figures/gplot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/science_guide/figures/gplot.png -------------------------------------------------------------------------------- /doc/source/science_guide/figures/topo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/science_guide/figures/topo.png -------------------------------------------------------------------------------- /doc/source/user_guide/figures/distrbB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/distrbB.png -------------------------------------------------------------------------------- /doc/source/user_guide/figures/pdf/EAP.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/pdf/EAP.pdf -------------------------------------------------------------------------------- /doc/source/user_guide/figures/pdf/gplot.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/pdf/gplot.pdf -------------------------------------------------------------------------------- /doc/source/user_guide/figures/pdf/grid.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/pdf/grid.pdf -------------------------------------------------------------------------------- /doc/source/user_guide/figures/pdf/topo2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/pdf/topo2.pdf -------------------------------------------------------------------------------- /doc/source/user_guide/figures/pdf/topo3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/pdf/topo3.pdf -------------------------------------------------------------------------------- /doc/source/user_guide/figures/scorecard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/scorecard.png -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.alt06: -------------------------------------------------------------------------------- 1 | ncat = 7 2 | kcatbound = 3 3 | nslyr = 3 4 | ice_ic = 'internal' 5 | tfrz_option = 'mushy' 6 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.snw30percent: -------------------------------------------------------------------------------- 1 | tr_snow = .true. 2 | snwredist = 'bulk' 3 | snwlvlfac = 0.3 4 | nslyr = 5 5 | 6 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.tripole: -------------------------------------------------------------------------------- 1 | grid_type = 'tripole' 2 | ew_boundary_type = 'cyclic' 3 | ns_boundary_type = 'tripole' 4 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.tripolet: -------------------------------------------------------------------------------- 1 | grid_type = 'tripole' 2 | ew_boundary_type = 'cyclic' 3 | ns_boundary_type = 'tripoleT' 4 | -------------------------------------------------------------------------------- /doc/source/user_guide/figures/CICE_Bgrid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/CICE_Bgrid.png -------------------------------------------------------------------------------- /doc/source/user_guide/figures/CICE_Cgrid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/CICE_Cgrid.png -------------------------------------------------------------------------------- /doc/source/user_guide/figures/extra/topo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/extra/topo2.png -------------------------------------------------------------------------------- /doc/source/user_guide/figures/extra/topo3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/extra/topo3.png -------------------------------------------------------------------------------- /doc/source/user_guide/figures/histograms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/histograms.png -------------------------------------------------------------------------------- /doc/source/user_guide/figures/pdf/albedo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/pdf/albedo.pdf -------------------------------------------------------------------------------- /doc/source/user_guide/figures/pdf/deparr.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/pdf/deparr.pdf -------------------------------------------------------------------------------- /doc/source/user_guide/figures/pdf/timings.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/pdf/timings.pdf -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.maskhalo: -------------------------------------------------------------------------------- 1 | maskhalo_dyn = .true. 2 | maskhalo_remap = .true. 3 | maskhalo_bound = .true. 4 | -------------------------------------------------------------------------------- /doc/source/developer_guide/figures/jra55data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/developer_guide/figures/jra55data.png -------------------------------------------------------------------------------- /doc/source/science_guide/figures/triangles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/science_guide/figures/triangles.png -------------------------------------------------------------------------------- /doc/source/user_guide/figures/pdf/histograms.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/pdf/histograms.pdf -------------------------------------------------------------------------------- /doc/source/user_guide/figures/pdf/triangles.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/pdf/triangles.pdf -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.run2day: -------------------------------------------------------------------------------- 1 | npt_unit = 'd' 2 | npt = 2 3 | dumpfreq = 'd' 4 | dumpfreq_n = 2 5 | 6 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.run5day: -------------------------------------------------------------------------------- 1 | npt_unit = 'd' 2 | npt = 5 3 | dumpfreq = 'd' 4 | dumpfreq_n = 5 5 | 6 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.run60day: -------------------------------------------------------------------------------- 1 | npt_unit = 'd' 2 | npt = 60 3 | dumpfreq = 'd' 4 | dumpfreq_n = 30 5 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.run90day: -------------------------------------------------------------------------------- 1 | npt_unit = 'd' 2 | npt = 90 3 | dumpfreq = 'd' 4 | dumpfreq_n = 30 5 | -------------------------------------------------------------------------------- /doc/source/science_guide/figures/tracergraphic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/science_guide/figures/tracergraphic.png -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.histinst: -------------------------------------------------------------------------------- 1 | hist_avg = .false.,.false.,.false.,.false.,.false. 2 | hist_suffix = '1','2','3','4','5' 3 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.run10day: -------------------------------------------------------------------------------- 1 | npt_unit = 'd' 2 | npt = 10 3 | dumpfreq = 'd' 4 | dumpfreq_n = 10 5 | 6 | -------------------------------------------------------------------------------- /doc/source/user_guide/figures/pdf/tracergraphic.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/pdf/tracergraphic.pdf -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.iohdf5opts: -------------------------------------------------------------------------------- 1 | history_deflate = 6 2 | history_chunksize = 50,58 3 | restart_deflate = 8 4 | restart_chunksize = 50,58 5 | -------------------------------------------------------------------------------- /configuration/scripts/tests/QC/CICE_t_critical_p0.8.nc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/configuration/scripts/tests/QC/CICE_t_critical_p0.8.nc -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.dynpicard: -------------------------------------------------------------------------------- 1 | kdyn = 3 2 | algo_nonlin = 'picard' 3 | use_mean_vrel = .true. 4 | capping_method = 'max' 5 | -------------------------------------------------------------------------------- /configuration/scripts/tests/QC/CICE_t_lookup_p0.8_n1825.nc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/configuration/scripts/tests/QC/CICE_t_lookup_p0.8_n1825.nc -------------------------------------------------------------------------------- /doc/source/user_guide/figures/pdf/craig_ciceperf_ehunke.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/pdf/craig_ciceperf_ehunke.pdf -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.dynanderson: -------------------------------------------------------------------------------- 1 | kdyn = 3 2 | algo_nonlin = 'anderson' 3 | use_mean_vrel = .false. 4 | capping_method = 'max' 5 | 6 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.run10year: -------------------------------------------------------------------------------- 1 | npt_unit = 'y' 2 | npt = 10 3 | dumpfreq = 'y' 4 | dumpfreq_n = 1 5 | diagfreq = 24 6 | 7 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.run1year: -------------------------------------------------------------------------------- 1 | npt_unit = 'y' 2 | npt = 1 3 | dumpfreq = 'm' 4 | dumpfreq_n = 12 5 | diagfreq = 24 6 | 7 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.run8year: -------------------------------------------------------------------------------- 1 | npt_unit = 'y' 2 | npt = 8 3 | dumpfreq = 'y' 4 | dumpfreq_n = 1 5 | diagfreq = 24 6 | 7 | -------------------------------------------------------------------------------- /configuration/scripts/tests/QC/CICE_Lookup_Table_p0.8_n1825.nc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/configuration/scripts/tests/QC/CICE_Lookup_Table_p0.8_n1825.nc -------------------------------------------------------------------------------- /configuration/scripts/tests/QC/CICE_Lookup_Table_p0.95_n1825.nc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/configuration/scripts/tests/QC/CICE_Lookup_Table_p0.95_n1825.nc -------------------------------------------------------------------------------- /doc/source/user_guide/figures/extra/distrb_cart_X1_20x24_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/extra/distrb_cart_X1_20x24_16.png -------------------------------------------------------------------------------- /doc/source/user_guide/figures/extra/distrb_cart_X2_20x24_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/extra/distrb_cart_X2_20x24_16.png -------------------------------------------------------------------------------- /doc/source/user_guide/figures/extra/distrb_sfc_lat_20x24_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/extra/distrb_sfc_lat_20x24_16.png -------------------------------------------------------------------------------- /doc/source/user_guide/figures/pdf/distrb_cart_X1_20x24_16.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/pdf/distrb_cart_X1_20x24_16.pdf -------------------------------------------------------------------------------- /doc/source/user_guide/figures/pdf/distrb_cart_X2_20x24_16.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/pdf/distrb_cart_X2_20x24_16.pdf -------------------------------------------------------------------------------- /doc/source/user_guide/figures/pdf/distrb_cart_sqr_20x24_16.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/pdf/distrb_cart_sqr_20x24_16.pdf -------------------------------------------------------------------------------- /doc/source/user_guide/figures/pdf/distrb_rake_lat_20x24_16.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/pdf/distrb_rake_lat_20x24_16.pdf -------------------------------------------------------------------------------- /doc/source/user_guide/figures/pdf/distrb_sfc_lat_20x24_16.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/pdf/distrb_sfc_lat_20x24_16.pdf -------------------------------------------------------------------------------- /doc/source/user_guide/figures/extra/distrb_cart_sqr_20x24_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/extra/distrb_cart_sqr_20x24_16.png -------------------------------------------------------------------------------- /doc/source/user_guide/figures/extra/distrb_rake_lat_20x24_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/extra/distrb_rake_lat_20x24_16.png -------------------------------------------------------------------------------- /doc/source/user_guide/figures/pdf/distrb_rake_block_20x24_16.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/pdf/distrb_rake_block_20x24_16.pdf -------------------------------------------------------------------------------- /doc/source/user_guide/figures/extra/distrb_rake_block_20x24_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/CICE/main/doc/source/user_guide/figures/extra/distrb_rake_block_20x24_16.png -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.zaero: -------------------------------------------------------------------------------- 1 | nblyr = 7 2 | n_aero = 0 3 | n_zaero = 3 4 | tr_brine = .true. 5 | tr_zaero = .true. 6 | z_tracers = .true. 7 | 8 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.alt07: -------------------------------------------------------------------------------- 1 | kdyn = 1 2 | evp_algorithm = 'standard_2d' 3 | ndte = 300 4 | capping_method = 'sum' 5 | visc_method = 'avg_strength' 6 | 7 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.run1day: -------------------------------------------------------------------------------- 1 | npt_unit = 'd' 2 | npt = 1 3 | dumpfreq = 'd' 4 | dumpfreq_n = 1 5 | diag_type = 'stdout' 6 | print_global = .true. 7 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.run3day: -------------------------------------------------------------------------------- 1 | npt_unit = 'd' 2 | npt = 3 3 | dumpfreq = 'd' 4 | dumpfreq_n = 2 5 | diag_type = 'stdout' 6 | print_global = .true. 7 | -------------------------------------------------------------------------------- /configuration/scripts/options/test_nml.restart2: -------------------------------------------------------------------------------- 1 | npt = 5 2 | npt_unit = 'd' 3 | dumpfreq = 'd' 4 | dumpfreq_n = 5 5 | dumpfreq_base = 'init' 6 | runtype = 'continue' 7 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.boxforcee: -------------------------------------------------------------------------------- 1 | atm_data_type = 'uniform_east' 2 | ocn_data_type = 'calm' 3 | ice_data_type = 'uniform' 4 | ice_data_conc = 'parabolic' 5 | ice_data_dist = 'uniform' 6 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.boxforcen: -------------------------------------------------------------------------------- 1 | atm_data_type = 'uniform_north' 2 | ocn_data_type = 'calm' 3 | ice_data_type = 'uniform' 4 | ice_data_conc = 'parabolic' 5 | ice_data_dist = 'uniform' 6 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.gx1apr: -------------------------------------------------------------------------------- 1 | year_init = 2005 2 | month_init = 4 3 | day_init = 1 4 | sec_init = 0 5 | ice_ic = 'ICE_MACHINE_INPUTDATA/CICE_data/ic/gx1/iced_gx1_v6.2005-04-01.nc' 6 | -------------------------------------------------------------------------------- /configuration/scripts/options/test_nml.restart22: -------------------------------------------------------------------------------- 1 | npt = 2 2 | npt_unit = 'd' 3 | dumpfreq = 'd' 4 | dumpfreq_n = 2 5 | dumpfreq_base = 'init' 6 | runtype = 'continue' 7 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.boxforcene: -------------------------------------------------------------------------------- 1 | atm_data_type = 'uniform_northeast' 2 | ocn_data_type = 'calm' 3 | ice_data_type = 'uniform' 4 | ice_data_conc = 'parabolic' 5 | ice_data_dist = 'uniform' 6 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.gx3nc: -------------------------------------------------------------------------------- 1 | grid_format = 'pop_nc' 2 | grid_file = 'ICE_MACHINE_INPUTDATA/CICE_data/grid/gx3/grid_gx3t.nc' 3 | kmt_file = 'ICE_MACHINE_INPUTDATA/CICE_data/grid/gx3/kmt_gx3t.nc' 4 | -------------------------------------------------------------------------------- /doc/source/zreferences.rst: -------------------------------------------------------------------------------- 1 | 2 | ******************* 3 | References 4 | ******************* 5 | 6 | .. rubric:: References 7 | 8 | .. bibliography:: master_list.bib 9 | :cited: 10 | :style: plain 11 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.diagpt1: -------------------------------------------------------------------------------- 1 | # this local point is hardwired to (85,-150) for gx3, 7x2x5x29x12 roundrobin 2 | debug_model_i = 3 3 | debug_model_j = 22 4 | debug_model_iblk = 11 5 | debug_model_task = 0 6 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.fsd12ww3: -------------------------------------------------------------------------------- 1 | tr_fsd = .true. 2 | nfsd = 12 3 | wave_spec_type = 'constant' 4 | nfreq = 25 5 | wave_spec_file = 'ICE_MACHINE_INPUTDATA/CICE_data/forcing/gx3/ww3.20100101_efreq_remapgx3.nc' 6 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.seabedLKD: -------------------------------------------------------------------------------- 1 | use_bathymetry = .true. 2 | seabed_stress = .true. 3 | seabed_stress_method = 'LKD' 4 | histfreq = 'm','d','x','x','x' 5 | f_taubx = 'md' 6 | f_tauby = 'md' 7 | -------------------------------------------------------------------------------- /configuration/scripts/options/test_nml.restart1: -------------------------------------------------------------------------------- 1 | npt = 10 2 | npt_unit = 'd' 3 | dumpfreq = 'd' 4 | dumpfreq_n = 5 5 | dumpfreq_base = 'init' 6 | runtype = 'initial' 7 | use_restart_time = .false. 8 | -------------------------------------------------------------------------------- /configuration/scripts/options/test_nml.restart21: -------------------------------------------------------------------------------- 1 | npt = 2 2 | npt_unit = 'd' 3 | dumpfreq = 'd' 4 | dumpfreq_n = 1 5 | dumpfreq_base = 'init' 6 | runtype = 'initial' 7 | use_restart_time = .false. 8 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.seabedprob: -------------------------------------------------------------------------------- 1 | use_bathymetry = .true. 2 | seabed_stress = .true. 3 | seabed_stress_method = 'probabilistic' 4 | histfreq = 'm','d','x','x','x' 5 | f_taubx = 'md' 6 | f_tauby = 'md' 7 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.gx3sep2: -------------------------------------------------------------------------------- 1 | year_init = 2005 2 | month_init = 9 3 | day_init = 2 4 | sec_init = 7200 5 | use_leap_years = .true. 6 | ice_ic = 'ICE_MACHINE_INPUTDATA/CICE_data/ic/gx3/iced_gx3_v6.2005-09-01.nc' 7 | -------------------------------------------------------------------------------- /.github/workflows/write_logfiles.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | #echo "hello" 4 | 5 | foreach logfile (case*/logs/cice.runlog* testsuite.*/*/logs/cice.runlog*) 6 | echo "### ${logfile} ###" 7 | tail -20 $logfile 8 | echo " " 9 | end 10 | 11 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.alt05: -------------------------------------------------------------------------------- 1 | ice_ic = 'internal' 2 | tr_iage = .false. 3 | tr_FY = .false. 4 | tr_lvl = .false. 5 | tr_pond_topo = .false. 6 | tr_pond_lvl = .false. 7 | tr_aero = .false. 8 | shortwave = 'dEdd' 9 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.bigdiag: -------------------------------------------------------------------------------- 1 | debug_forcing = .true. 2 | debug_model = .true. 3 | debug_model_step = 4 4 | print_global = .true. 5 | print_points = .true. 6 | debug_blocks = .true. 7 | latpnt(1) = 85. 8 | lonpnt(1) = -150. 9 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.gridcd: -------------------------------------------------------------------------------- 1 | grid_ice = 'C_override_D' 2 | dyn_area_min = 0.001d0 3 | dyn_mass_min = 0.01d0 4 | # visc_method=avg_zeta causes some gridcd tests to abort, use avg_strength for now 5 | visc_method = 'avg_strength' 6 | 7 | 8 | -------------------------------------------------------------------------------- /configuration/scripts/tests/qctest.yml: -------------------------------------------------------------------------------- 1 | name: qctest 2 | channels: 3 | - conda-forge 4 | - nodefaults 5 | dependencies: 6 | # Python dependencies for plotting scripts 7 | - numpy 8 | - matplotlib-base 9 | - cartopy 10 | - netcdf4 11 | 12 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.ml: -------------------------------------------------------------------------------- 1 | 2 | oceanmixed_ice = .true. 3 | ocn_data_type = 'ncar' 4 | ocn_data_format = 'nc' 5 | ocn_data_dir = 'ICE_MACHINE_INPUTDATA/CICE_data/forcing/gx1/CESM/MONTHLY' 6 | oceanmixed_file = 'ocean_forcing_clim_2D_gx1.20210330.nc' 7 | 8 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.snwitdrdg: -------------------------------------------------------------------------------- 1 | tr_snow = .true. 2 | snwredist = 'ITDrdg' 3 | nslyr = 5 4 | rhosnew = 100.0 5 | rhosmin = 100.0 6 | rhosmax = 450.0 7 | windmin = 10.0 8 | drhosdwind = 27.3 9 | snwlvlfac = 0.3 10 | 11 | -------------------------------------------------------------------------------- /configuration/scripts/tests/nothread_quicksuite.ts: -------------------------------------------------------------------------------- 1 | # Test Grid PEs Sets BFB-compare 2 | restart gx3 16x1 diag1 3 | smoke gx3 1x1 debug,diag1,run2day 4 | smoke gx3 4x1 debug,diag1,run2day,thread 5 | 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore emacs backup files 2 | *~ 3 | 4 | # Ignore doc/build 5 | # these are stored in gh-pages orphan branch 6 | doc/build 7 | 8 | # Ignore macOS cache files 9 | .DS_Store 10 | 11 | 12 | # Ignore testsuite file/directories 13 | testsuite* 14 | caselist* 15 | -------------------------------------------------------------------------------- /cicecore/drivers/unittest/helloworld/helloworld.F90: -------------------------------------------------------------------------------- 1 | 2 | program hello_world 3 | 4 | write(6,*) 'RunningUnitTest hello_world' 5 | write(6,*) 'hello_world COMPLETED SUCCESSFULLY' 6 | write(6,*) 'hello_world TEST COMPLETED SUCCESSFULLY' 7 | 8 | end program 9 | 10 | -------------------------------------------------------------------------------- /configuration/scripts/tests/test_decomp.files: -------------------------------------------------------------------------------- 1 | set_nml.drakeice 2 | set_nml.drakepop 3 | set_nml.drakeX1 4 | set_nml.drakeX2 5 | set_nml.droundrobin 6 | set_nml.dsectcart 7 | set_nml.dsectrobin 8 | set_nml.dslenderX1 9 | set_nml.dslenderX2 10 | set_nml.dspacecurve 11 | set_nml.dsquareice 12 | set_nml.dsquarepop 13 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.gx3ncarbulk: -------------------------------------------------------------------------------- 1 | year_init = 1997 2 | use_leap_years = .false. 3 | use_restart_time = .true. 4 | fyear_init = 1997 5 | atm_data_format = 'bin' 6 | atm_data_type = 'ncar' 7 | atm_data_dir = 'ICE_MACHINE_INPUTDATA/CICE_data/forcing/gx3' 8 | precip_units = 'mm_per_month' 9 | 10 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.iopioopts: -------------------------------------------------------------------------------- 1 | history_format = 'cdf2' 2 | history_rearranger = 'subset' 3 | history_iotasks = 1024 4 | history_root = 0 5 | history_stride = 2 6 | restart_format = 'pnetcdf5' 7 | restart_rearranger = 'subset' 8 | restart_iotasks = 1024 9 | restart_root = 1024 10 | restart_stride = 8 11 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.e3sm: -------------------------------------------------------------------------------- 1 | ice_ic = 'default' 2 | nslyr = 5 3 | highfreq = .true. 4 | natmiter = 10 5 | oceanmixed_ice = .false. 6 | kcatbound = 0 7 | tr_FY = .true. 8 | tr_snow = .true. 9 | use_smliq_pnd = .true. 10 | snwgrain = .true. 11 | snwredist = 'ITDrdg' 12 | rsnw_fall = 54.526 13 | rsnw_tmax = 2800.0 14 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.gbox12: -------------------------------------------------------------------------------- 1 | dxrect = 30.e5 2 | dyrect = 30.e5 3 | ice_ic = 'internal' 4 | grid_type = 'rectangular' 5 | kmt_type = 'default' 6 | atm_data_type = 'box2001' 7 | ocn_data_type = 'box2001' 8 | ice_data_type = 'box2001' 9 | ice_data_conc = 'box2001' 10 | ice_data_dist = 'box2001' 11 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.gbox80: -------------------------------------------------------------------------------- 1 | dxrect = 5.e5 2 | dyrect = 5.e5 3 | ice_ic = 'internal' 4 | grid_type = 'rectangular' 5 | kmt_type = 'default' 6 | atm_data_type = 'box2001' 7 | ocn_data_type = 'box2001' 8 | ice_data_type = 'box2001' 9 | ice_data_conc = 'box2001' 10 | ice_data_dist = 'box2001' 11 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.histhrly: -------------------------------------------------------------------------------- 1 | histfreq = 'm','h','x','x','x' 2 | histfreq_n = 1,1,1,1,1 3 | histfreq_base = 'zero','zero','zero','zero','zero' 4 | write_ic = .true. 5 | f_aice = 'mh' 6 | f_hi = 'hm' 7 | f_hs = 'mh' 8 | f_Tsfc = 'mh' 9 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.gbox180: -------------------------------------------------------------------------------- 1 | dxrect = 2.e5 2 | dyrect = 2.e5 3 | dt = 1800.0 4 | ice_ic = 'internal' 5 | grid_type = 'rectangular' 6 | kmt_type = 'default' 7 | atm_data_type = 'box2001' 8 | ocn_data_type = 'box2001' 9 | ice_data_type = 'box2001' 10 | ice_data_conc = 'box2001' 11 | ice_data_dist = 'box2001' 12 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.gbox128: -------------------------------------------------------------------------------- 1 | dxrect = 3.e5 2 | dyrect = 3.e5 3 | grid_ocn = 'B' 4 | ice_ic = 'internal' 5 | grid_type = 'rectangular' 6 | kmt_type = 'default' 7 | atm_data_type = 'box2001' 8 | ocn_data_type = 'box2001' 9 | ice_data_type = 'box2001' 10 | ice_data_conc = 'box2001' 11 | ice_data_dist = 'box2001' 12 | 13 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.vargrid: -------------------------------------------------------------------------------- 1 | scale_dxdy = .true. 2 | dxscale = 1.02d0 3 | dyscale = 1.01d0 4 | f_dxt = .true. 5 | f_dyt = .true. 6 | f_dxu = .true. 7 | f_dyu = .true. 8 | f_dxe = .true. 9 | f_dye = .true. 10 | f_dxn = .true. 11 | f_dyn = .true. 12 | f_HTN = .true. 13 | f_HTE = .true. 14 | -------------------------------------------------------------------------------- /configuration/scripts/tests/quick_suite.ts: -------------------------------------------------------------------------------- 1 | # Test Grid PEs Sets BFB-compare 2 | smoke gx3 8x2 diag1,run5day 3 | smoke gx3 1x1 diag1,run1day 4 | restart gbox128 8x1 diag1 5 | restart gx3 4x2 debug,diag1 6 | smoke gx3 4x1 diag1,run5day,thread smoke_gx3_8x2_diag1_run5day 7 | -------------------------------------------------------------------------------- /configuration/scripts/setup_run_dirs.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | source ./cice.settings 4 | source ${ICE_CASEDIR}/env.${ICE_MACHCOMP} -nomodules || exit 2 5 | 6 | if !(-d ${ICE_RUNDIR}) then 7 | echo "mkdir ${ICE_RUNDIR}" 8 | mkdir -p ${ICE_RUNDIR} 9 | endif 10 | if !(-d ${ICE_HSTDIR}) mkdir -p ${ICE_HSTDIR} 11 | if !(-d ${ICE_RSTDIR}) mkdir -p ${ICE_RSTDIR} 12 | 13 | exit 0 14 | -------------------------------------------------------------------------------- /configuration/scripts/tests/travis_suite.ts: -------------------------------------------------------------------------------- 1 | # Test Grid PEs Sets BFB-compare 2 | smoke gx3 1x2 run2day 3 | smoke gx3 1x1 debug,run1day 4 | smoke gx3 2x2 debug,run1day 5 | smoke gx3 2x1 run2day,thread smoke_gx3_1x2_run2day 6 | restart gx3 2x1 7 | restart gx3 1x2 8 | -------------------------------------------------------------------------------- /configuration/scripts/tests/e3sm_suite.ts: -------------------------------------------------------------------------------- 1 | # Test Grid PEs Sets BFB-compare 2 | smoke gx3 8x2 diag1,run5day,e3sm 3 | smoke gx3 1x1 diag1,run1day,e3smbgc 4 | restart gbox128 8x1 diag1,e3sm 5 | restart gx3 4x2 debug,diag1,e3smbgc 6 | smoke gx3 4x1 diag1,run5day,thread,e3sm smoke_gx3_8x2_diag1_run5day 7 | -------------------------------------------------------------------------------- /cicecore/drivers/mct/cesm1/ice_scam.F90: -------------------------------------------------------------------------------- 1 | module ice_scam 2 | 3 | use ice_kinds_mod 4 | 5 | implicit none 6 | 7 | ! single column control variables (only used for latlon grid) 8 | 9 | logical :: single_column ! true => single column mode 10 | real (kind=dbl_kind) scmlat ! single column latitude (degrees) 11 | real (kind=dbl_kind) scmlon ! single column longitude (degrees) 12 | 13 | end module ice_scam 14 | 15 | -------------------------------------------------------------------------------- /configuration/scripts/tests/prod_suite.ts: -------------------------------------------------------------------------------- 1 | # Test Grid PEs Sets BFB-compare 2 | qcchk gx3 72x1 qc,qcchk,medium qcchk_gx3_72x1_medium_qc_qcchk 3 | qcchk gx1 144x1 qc,qcchk,medium 4 | smoke gx1 128x2 gx1prod,long,run8year 5 | qcchk gx3 72x1 qc,qcchkf,medium,alt02 qcchk_gx3_72x1_medium_qc_qcchk 6 | qcchk gx3 72x1 qc,qcchk,dt3456s,medium qcchk_gx3_72x1_medium_qc_qcchk 7 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.qc: -------------------------------------------------------------------------------- 1 | npt_unit = 'y' 2 | npt = 5 3 | year_init = 2005 4 | month_init = 1 5 | day_init = 1 6 | sec_init = 0 7 | use_leap_years = .false. 8 | fyear_init = 2005 9 | ycycle = 1 10 | dumpfreq = 'm' 11 | dumpfreq_n = 12 12 | diagfreq = 24 13 | histfreq = 'd','x','x','x','x' 14 | f_hi = 'd' 15 | hist_avg = .false.,.false.,.false.,.false.,.false. 16 | distribution_wght = 'blockall' 17 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.alt02: -------------------------------------------------------------------------------- 1 | ncat = 1 2 | kcatbound = -1 3 | ice_ic = 'internal' 4 | distribution_type = 'sectrobin' 5 | tr_iage = .true. 6 | tr_FY = .true. 7 | tr_lvl = .true. 8 | tr_pond_topo = .false. 9 | tr_pond_lvl = .false. 10 | tr_aero = .false. 11 | kitd = 0 12 | kdyn = 1 13 | revised_evp = .true. 14 | kstrength = 0 15 | krdg_partic = 0 16 | krdg_redist = 0 17 | shortwave = 'ccsm3' 18 | albedo_type = 'ccsm3' 19 | calc_Tsfc = .true. 20 | 21 | 22 | -------------------------------------------------------------------------------- /doc/source/intro/index.rst: -------------------------------------------------------------------------------- 1 | .. CICE-Consortium documentation master file, created by 2 | sphinx-quickstart on Thu Jun 29 13:47:09 2017. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | .. _introduction: 7 | 8 | Introduction - CICE 9 | ----------------------- 10 | 11 | .. toctree:: 12 | :maxdepth: 3 13 | 14 | about.rst 15 | quickstart.rst 16 | acknowledgements.rst 17 | citing.rst 18 | copyright.rst 19 | 20 | -------------------------------------------------------------------------------- /doc/source/science_guide/index.rst: -------------------------------------------------------------------------------- 1 | .. CICE-Consortium documentation master file, created by 2 | sphinx-quickstart on Thu Jun 29 13:47:09 2017. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | .. _science_guide: 7 | 8 | Science Guide 9 | ----------------- 10 | 11 | .. toctree:: 12 | :maxdepth: 2 13 | 14 | sg_coupling.rst 15 | sg_fundvars.rst 16 | sg_tracers.rst 17 | sg_horiztrans.rst 18 | sg_dynamics.rst 19 | 20 | -------------------------------------------------------------------------------- /doc/source/user_guide/index.rst: -------------------------------------------------------------------------------- 1 | .. CICE-Consortium documentation master file, created by 2 | sphinx-quickstart on Thu Jun 29 13:47:09 2017. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | .. _user_guide: 7 | 8 | User Guide 9 | ----------------- 10 | 11 | .. toctree:: 12 | :maxdepth: 3 13 | 14 | ug_implementation.rst 15 | ug_running.rst 16 | ug_testing.rst 17 | ug_case_settings.rst 18 | ug_troubleshooting.rst 19 | 20 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.tx1: -------------------------------------------------------------------------------- 1 | dt = 3600.0 2 | runtype = 'initial' 3 | ice_ic = 'internal' 4 | grid_format = 'bin' 5 | grid_type = 'tripole' 6 | ns_boundary_type = 'tripole' 7 | grid_file = 'ICE_MACHINE_INPUTDATA/CICE_data/grid/tx1/grid_tx1.bin' 8 | kmt_file = 'ICE_MACHINE_INPUTDATA/CICE_data/grid/tx1/kmt_tx1.bin' 9 | atm_data_dir = 'ICE_MACHINE_INPUTDATA/CICE_data/forcing/tx1' 10 | atm_data_format = 'nc' 11 | atm_data_type = 'JRA55' 12 | atm_data_version = '_20230919' 13 | year_init = 2005 14 | fyear_init = 2005 15 | -------------------------------------------------------------------------------- /configuration/scripts/machines/environment.yml: -------------------------------------------------------------------------------- 1 | name: cice 2 | channels: 3 | - conda-forge 4 | - nodefaults 5 | dependencies: 6 | # Build dependencies 7 | - compilers 8 | - netcdf-fortran 9 | - parallelio 10 | - openmpi 11 | - make 12 | - liblapack 13 | # Python dependencies for plotting scripts 14 | - numpy 15 | - matplotlib-base 16 | - cartopy 17 | - netcdf4 18 | - basemap=1.4.1 19 | - basemap-data 20 | - basemap-data-hires 21 | # Python dependencies for building the HTML documentation 22 | - sphinx 23 | - sphinxcontrib-bibtex 24 | -------------------------------------------------------------------------------- /configuration/scripts/parse_namelist_from_env.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -f 2 | 3 | if [[ "$#" -ne 1 ]]; then 4 | echo "$0 ERROR: requires 1 argument, the namelist to modify" 5 | exit -1 6 | fi 7 | 8 | scriptname=`basename "$0"` 9 | filename=$1 10 | 11 | #echo "$0 $1" 12 | echo "running $scriptname" 13 | 14 | sed -i.sedbak -e 's|ICE_SANDBOX|'"${ICE_SANDBOX}"'|g' $filename 15 | sed -i.sedbak -e 's|ICE_MACHINE_INPUTDATA|'"${ICE_MACHINE_INPUTDATA}"'|g' $filename 16 | 17 | if [[ -e "${filename}.sedbak" ]]; then 18 | rm ${filename}.sedbak 19 | fi 20 | 21 | exit 0 22 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.gx1prod: -------------------------------------------------------------------------------- 1 | year_init = 2005 2 | use_leap_years = .true. 3 | npt_unit = 'y' 4 | npt = 4 5 | dumpfreq = 'm' 6 | dumpfreq_base = 'zero' 7 | fyear_init = 2005 8 | ycycle = 4 9 | ocn_data_dir = 'ICE_MACHINE_INPUTDATA/CICE_data/forcing/gx1/CESM/MONTHLY/' 10 | use_bathymetry = .true. 11 | seabed_stress = .true. 12 | seabed_stress_method = 'LKD' 13 | ocn_data_type = 'ncar' 14 | ocn_data_format = 'nc' 15 | oceanmixed_ice = .true. 16 | oceanmixed_file = 'ocean_forcing_clim_2D_gx1.20210330.nc' 17 | tr_brine = .true. 18 | f_taubx = 'm' 19 | f_tauby = 'm' 20 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.gx1prod15: -------------------------------------------------------------------------------- 1 | year_init = 1995 2 | use_leap_years = .true. 3 | npt_unit = 'y' 4 | npt = 15 5 | dumpfreq = 'm' 6 | dumpfreq_base = 'zero' 7 | fyear_init = 1995 8 | ycycle = 16 9 | ocn_data_dir = 'ICE_MACHINE_INPUTDATA/CICE_data/forcing/gx1/CESM/MONTHLY/' 10 | use_bathymetry = .true. 11 | seabed_stress = .true. 12 | seabed_stress_method = 'LKD' 13 | ocn_data_type = 'ncar' 14 | ocn_data_format = 'nc' 15 | oceanmixed_ice = .true. 16 | oceanmixed_file = 'ocean_forcing_clim_2D_gx1.20210330.nc' 17 | tr_brine = .true. 18 | f_taubx = 'm' 19 | f_tauby = 'm' 20 | -------------------------------------------------------------------------------- /doc/source/developer_guide/index.rst: -------------------------------------------------------------------------------- 1 | .. CICE-Consortium documentation master file, created by 2 | sphinx-quickstart on Thu Jun 29 13:47:09 2017. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | .. _developer_guide: 7 | 8 | Developer Guide 9 | ----------------- 10 | 11 | .. toctree:: 12 | :maxdepth: 3 13 | 14 | dg_about.rst 15 | dg_dynamics.rst 16 | dg_infra.rst 17 | dg_driver.rst 18 | dg_forcing.rst 19 | dg_assim.rst 20 | dg_icepack.rst 21 | dg_scripts.rst 22 | dg_tools.rst 23 | dg_other.rst 24 | 25 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.snwgrain: -------------------------------------------------------------------------------- 1 | tr_snow = .true. 2 | snwgrain = .true. 3 | use_smliq_pnd = .true. 4 | rsnw_fall = 54.526 5 | rsnw_tmax = 1500.0 6 | snw_aging_table = 'file' 7 | snw_filename = 'ICE_MACHINE_INPUTDATA/CICE_data/forcing/snicar_drdt_bst_fit_60_c04262019.nc' 8 | snw_tau_fname = 'snowEmpiricalGrowthParameterTau' 9 | snw_kappa_fname = 'snowEmpiricalGrowthParameterKappa' 10 | snw_drdt0_fname = 'snowPropertyRate' 11 | snw_rhos_fname = 'nGrainAgingSnowDensity' 12 | snw_Tgrd_fname = 'nGrainAgingTempGradient' 13 | snw_T_fname = 'nGrainAgingTemperature' 14 | nslyr = 5 15 | 16 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.alt03: -------------------------------------------------------------------------------- 1 | ncat = 6 2 | kcatbound = 2 3 | ice_ic = 'internal' 4 | distribution_type = 'sectcart' 5 | conserv_check = .true. 6 | tr_iage = .false. 7 | tr_FY = .false. 8 | tr_lvl = .false. 9 | tr_pond_topo = .true. 10 | tr_pond_lvl = .false. 11 | tr_aero = .true. 12 | calc_Tsfc = .false. 13 | kdyn = 2 14 | ktherm = 1 15 | sw_redist = .true. 16 | sw_frac = 0.9d0 17 | sw_dtemp = 0.02d0 18 | tfrz_option = 'linear_salt' 19 | revised_evp = .false. 20 | Ktens = 0. 21 | e_yieldcurve = 2. 22 | seabed_stress = .true. 23 | use_bathymetry = .true. 24 | l_mpond_fresh = .true. 25 | -------------------------------------------------------------------------------- /doc/source/index.rst: -------------------------------------------------------------------------------- 1 | .. CICE-Consortium documentation master file, created by 2 | sphinx-quickstart on Thu Jun 29 13:47:09 2017. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | =========================================== 7 | CICE Documentation 8 | =========================================== 9 | 10 | .. toctree:: 11 | :numbered: 12 | :maxdepth: 2 13 | 14 | intro/index.rst 15 | science_guide/index.rst 16 | user_guide/index.rst 17 | developer_guide/index.rst 18 | cice_index.rst 19 | zreferences.rst 20 | 21 | * :ref:`search` 22 | 23 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.nrlssc_gnu: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | setenv ICE_MACHINE_MACHNAME nrlssc 4 | setenv ICE_MACHINE_MACHINFO "nrlssc" 5 | setenv ICE_MACHINE_ENVNAME gnu 6 | setenv ICE_MACHINE_ENVINFO "gnu" 7 | setenv ICE_MACHINE_MAKE gmake 8 | setenv ICE_MACHINE_WKDIR /u/hebert/data/CICE_RUNS 9 | setenv ICE_MACHINE_INPUTDATA /u/hebert/data/ 10 | setenv ICE_MACHINE_BASELINE /u/hebert/data/CICE_BASELINE 11 | setenv ICE_MACHINE_SUBMIT "qsub " 12 | setenv ICE_MACHINE_ACCT P00000000 13 | setenv ICE_MACHINE_QUEUE "standard" 14 | setenv ICE_MACHINE_TPNODE 28 # tasks per node 15 | setenv ICE_MACHINE_BLDTHRDS 8 16 | setenv ICE_MACHINE_QSTAT "qstat " 17 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.high_Sierra_gnu: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | # May be needed for OpenMP memory 4 | #setenv OMP_STACKSIZE 64M 5 | 6 | setenv ICE_MACHINE_MACHNAME high_Sierra 7 | setenv ICE_MACHINE_ENVNAME gnu 8 | setenv ICE_MACHINE_MAKE make 9 | setenv ICE_MACHINE_WKDIR /Volumes/ncep/CICE_RUNS 10 | setenv ICE_MACHINE_INPUTDATA /Volumes/Data/ 11 | setenv ICE_MACHINE_BASELINE /Volumes/ncep/CICE_BASELINE 12 | setenv ICE_MACHINE_SUBMIT " " 13 | setenv ICE_MACHINE_TPNODE 4 14 | setenv ICE_MACHINE_ACCT P0000000 15 | setenv ICE_MACHINE_BLDTHRDS 1 16 | setenv ICE_MACHINE_QSTAT " " 17 | setenv ICE_MACHINE_QUIETMODE false 18 | setenv ICE_MACHINE_QUEUE " " 19 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.alt01: -------------------------------------------------------------------------------- 1 | nilyr = 1 2 | use_leap_years = .false. 3 | ice_ic = 'internal' 4 | distribution_type = 'roundrobin' 5 | distribution_wght = 'block' 6 | tr_iage = .false. 7 | tr_FY = .false. 8 | tr_lvl = .true. 9 | tr_pond_topo = .false. 10 | tr_pond_lvl = .false. 11 | tr_aero = .false. 12 | kcatbound = 1 13 | kitd = 0 14 | ktherm = 1 15 | conduct = 'bubbly' 16 | kdyn = 1 17 | seabed_stress = .true. 18 | seabed_stress_method = 'probabilistic' 19 | use_bathymetry = .true. 20 | shortwave = 'ccsm3' 21 | albedo_type = 'constant' 22 | calc_Tsfc = .true. 23 | atm_data_type = 'default' 24 | highfreq = .true. 25 | tfrz_option = 'constant' 26 | -------------------------------------------------------------------------------- /configuration/scripts/tests/cice.codecov.csh: -------------------------------------------------------------------------------- 1 | 2 | #--- cice.codecov.csh --- 3 | 4 | #if ( ${use_curl} == 1 ) then 5 | # bash -c "bash <(curl -s https://codecov.io/bash) -n '${report_name}' -y ./codecov.yml " 6 | #else 7 | # bash -c "bash <(wget -O - https://codecov.io/bash) -n '${report_name}' -y ./codecov.yml " 8 | #endif 9 | 10 | if ( ${use_curl} == 1 ) then 11 | curl https://codecov.io/bash -o codecov.bash 12 | else 13 | wget https://codecov.io/bash -O codecov.bash 14 | endif 15 | chmod +x codecov.bash 16 | sed -i.sedbak 's|mktemp /tmp/|mktemp ./|g' codecov.bash 17 | bash -c "bash ./codecov.bash -n '${report_name}' -y ./codecov.yml" 18 | 19 | sleep 10 20 | rm -r -f ./*/codecov_output 21 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.testmachine_intel: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | # May be needed for OpenMP memory 4 | #setenv OMP_STACKSIZE 64M 5 | 6 | setenv ICE_MACHINE_MACHNAME testmachine 7 | setenv ICE_MACHINE_MACHINFO "Undefined" 8 | setenv ICE_MACHINE_ENVNAME intel 9 | setenv ICE_MACHINE_ENVINFO "Undefined" 10 | setenv ICE_MACHINE_MAKE gmake 11 | setenv ICE_MACHINE_WKDIR ~/CICE_RUNS 12 | setenv ICE_MACHINE_INPUTDATA ~/CICE_INPUTDATA 13 | setenv ICE_MACHINE_BASELINE ~/CICE_BASELINE 14 | setenv ICE_MACHINE_SUBMIT "qsub" 15 | setenv ICE_MACHINE_TPNODE 4 16 | setenv ICE_MACHINE_QUEUE "default" 17 | setenv ICE_MACHINE_ACCT P0000000 18 | setenv ICE_MACHINE_BLDTHRDS 1 19 | setenv ICE_MACHINE_QSTAT "qstat " 20 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.boxadv: -------------------------------------------------------------------------------- 1 | grid_ocn = 'B' 2 | nilyr = 1 3 | ice_ic = 'internal' 4 | restart_ext = .false. 5 | kcatbound = 2 6 | ew_boundary_type = 'cyclic' 7 | ns_boundary_type = 'cyclic' 8 | atm_data_type = 'box2001' 9 | ocn_data_type = 'box2001' 10 | ice_data_type = 'box2001' 11 | ice_data_conc = 'box2001' 12 | ice_data_dist = 'box2001' 13 | tr_iage = .true. 14 | tr_FY = .false. 15 | tr_lvl = .true. 16 | tr_pond_topo = .false. 17 | tr_pond_lvl = .false. 18 | tr_aero = .false. 19 | kitd = 1 20 | ktherm = 1 21 | kdyn = 2 22 | kstrength = 0 23 | krdg_partic = 0 24 | krdg_redist = 0 25 | shortwave = 'ccsm3' 26 | albedo_type = 'constant' 27 | tfrz_option = 'mushy' 28 | -------------------------------------------------------------------------------- /doc/source/intro/acknowledgements.rst: -------------------------------------------------------------------------------- 1 | :tocdepth: 3 2 | 3 | .. _acknowledgements: 4 | 5 | Acknowledgements 6 | ============================= 7 | 8 | This work has been completed through the CICE Consortium and its members with funding 9 | through the 10 | 11 | - Department of Energy (Los Alamos National Laboratory) 12 | 13 | - Department of Defense (Navy) 14 | 15 | - Department of Commerce (National Oceanic and Atmospheric Administration) 16 | 17 | - National Science Foundation (the National Center for Atmospheric Research) 18 | 19 | - Environment and Climate Change Canada. 20 | 21 | Special thanks are due to participants from these institutions and many others 22 | who contributed to previous versions of CICE or Icepack. 23 | -------------------------------------------------------------------------------- /doc/source/developer_guide/dg_icepack.rst: -------------------------------------------------------------------------------- 1 | :tocdepth: 3 2 | 3 | .. _dev_icepack: 4 | 5 | Icepack 6 | ================== 7 | 8 | The CICE model calls the Icepack columnphysics source code. The Icepack model is documented 9 | separately, see https://github.com/CICE-Consortium/Icepack. 10 | 11 | More specifically, the CICE model uses methods defined in **icepack_intfc.F90**. It uses 12 | the init, query, and write methods to set, get, and document Icepack values. And it follows 13 | the icepack_warnings methodology where **icepack_warnings_aborted** is checked and 14 | **icepack_warnings_flush** is called after every call to an Icepack method. 15 | It does not directly "use" Icepack data, accessing Icepack data only thru interfaces. 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.alt04: -------------------------------------------------------------------------------- 1 | ice_ic = 'internal' 2 | bfbflag = 'reprosum' 3 | distribution_type = 'rake' 4 | processor_shape = 'slenderX2' 5 | distribution_wght = 'block' 6 | tr_iage = .true. 7 | tr_FY = .true. 8 | tr_lvl = .true. 9 | tr_pond_topo = .false. 10 | tr_pond_lvl = .true. 11 | tr_aero = .true. 12 | kitd = 0 13 | hi_min = 0.1d0 14 | ktherm = 1 15 | sw_redist = .true. 16 | sw_frac = 0.9d0 17 | sw_dtemp = 0.02d0 18 | conduct = 'MU71' 19 | kdyn = 1 20 | evp_algorithm = 'shared_mem_1d' 21 | fbot_xfer_type = 'Cdn_ocn' 22 | shortwave = 'dEdd' 23 | formdrag = .true. 24 | advection = 'upwind' 25 | kstrength = 0 26 | krdg_partic = 0 27 | krdg_redist = 0 28 | frzpnd = 'ccsm' 29 | natmiter = 20 30 | tfrz_option = 'linear_salt' 31 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.bgcskl: -------------------------------------------------------------------------------- 1 | nilyr = 7 2 | nslyr = 1 3 | ncat = 5 4 | nblyr = 1 5 | n_aero = 0 6 | n_zaero = 0 7 | n_algae = 3 8 | n_doc = 2 9 | n_dic = 0 10 | n_don = 1 11 | n_fed = 1 12 | n_fep = 1 13 | ice_ic = 'none' 14 | tr_brine = .true. 15 | skl_bgc = .true. 16 | bgc_flux_type = 'Jin2006' 17 | bgc_data_type = 'default' 18 | tr_bgc_Nit = .true. 19 | tr_bgc_C = .true. 20 | tr_bgc_Am = .true. 21 | tr_bgc_Sil = .true. 22 | tr_bgc_DMS = .true. 23 | tr_bgc_PON = .true. 24 | tr_bgc_hum = .true. 25 | tr_bgc_DON = .true. 26 | tr_bgc_Fe = .true. 27 | tfrz_option = 'mushy' 28 | 29 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.pondsealvl: -------------------------------------------------------------------------------- 1 | apnd_sl = 0.27d0 2 | rfracmin = 1.0d0 3 | rfracmax = 1.0d0 4 | tr_pond_topo = .false. 5 | tr_pond_lvl = .false. 6 | tr_pond_sealvl = .true. 7 | tscale_pnd_drain = 0.5d0 8 | f_apondn = 'm' 9 | f_apeffn = 'm' 10 | f_hpondn = 'm' 11 | f_dpnd_flushn = 'm' 12 | f_dpnd_exponn = 'm' 13 | f_dpnd_freebdn = 'm' 14 | f_dpnd_initialn= 'm' 15 | f_dpnd_dlidn = 'm' 16 | f_apond = 'm' 17 | f_hpond = 'm' 18 | f_ipond = 'm' 19 | f_apeff = 'm' 20 | f_dpnd_flush = 'm' 21 | f_dpnd_expon = 'm' 22 | f_dpnd_freebd = 'm' 23 | f_dpnd_initial = 'm' 24 | f_dpnd_dlid = 'm' 25 | f_dpnd_melt = 'm' 26 | f_dpnd_ridge = 'm' 27 | f_apond_ai = 'm' 28 | f_hpond_ai = 'm' 29 | f_ipond_ai = 'm' 30 | f_apeff_ai = 'm' 31 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.gx3: -------------------------------------------------------------------------------- 1 | dt = 3600.0 2 | runtype = 'initial' 3 | year_init = 2005 4 | use_leap_years = .true. 5 | use_restart_time = .false. 6 | ice_ic = 'ICE_MACHINE_INPUTDATA/CICE_data/ic/gx3/iced_gx3_v5.nc' 7 | grid_format = 'bin' 8 | grid_type = 'displaced_pole' 9 | grid_file = 'ICE_MACHINE_INPUTDATA/CICE_data/grid/gx3/grid_gx3.bin' 10 | kmt_file = 'ICE_MACHINE_INPUTDATA/CICE_data/grid/gx3/kmt_gx3.bin' 11 | bathymetry_file = 'ICE_MACHINE_INPUTDATA/CICE_data/grid/gx3/global_gx3.bathy.nc' 12 | fyear_init = 2005 13 | atm_data_format = 'nc' 14 | atm_data_type = 'JRA55' 15 | atm_data_version = '' 16 | atm_data_dir = 'ICE_MACHINE_INPUTDATA/CICE_data/forcing/gx3' 17 | precip_units = 'mks' 18 | ocn_data_format = 'bin' 19 | ocn_data_dir = 'ICE_MACHINE_INPUTDATA/CICE_data/forcing/gx3/' 20 | -------------------------------------------------------------------------------- /.readthedocs.yaml: -------------------------------------------------------------------------------- 1 | # .readthedocs.yaml 2 | # Read the Docs configuration file 3 | # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details 4 | 5 | # Required 6 | version: 2 7 | 8 | # Set the version of Python and other tools you might need 9 | build: 10 | os: ubuntu-22.04 11 | tools: 12 | python: "3.7" 13 | # You can also specify other tool versions: 14 | # nodejs: "19" 15 | # rust: "1.64" 16 | # golang: "1.19" 17 | 18 | # Build documentation in the docs/ directory with Sphinx 19 | sphinx: 20 | configuration: doc/source/conf.py 21 | 22 | # If using Sphinx, optionally build your docs in additional formats such as PDF 23 | formats: 24 | - pdf 25 | 26 | # Optionally declare the Python requirements required to build your docs 27 | python: 28 | install: 29 | - requirements: doc/requirements.txt 30 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.bgcsklclim: -------------------------------------------------------------------------------- 1 | nilyr = 7 2 | nslyr = 1 3 | ncat = 5 4 | nblyr = 1 5 | n_aero = 0 6 | n_zaero = 0 7 | n_algae = 3 8 | n_doc = 2 9 | n_dic = 0 10 | n_don = 1 11 | n_fed = 1 12 | n_fep = 1 13 | year_init = 2005 14 | istep0 = 0 15 | npt_unit = '1' 16 | npt = 168 17 | ice_ic = 'none' 18 | tr_brine = .true. 19 | skl_bgc = .true. 20 | bgc_flux_type = 'Jin2006' 21 | bgc_data_type = 'clim' 22 | tr_bgc_Nit = .true. 23 | tr_bgc_C = .true. 24 | tr_bgc_Am = .true. 25 | tr_bgc_Sil = .true. 26 | tr_bgc_DMS = .true. 27 | tr_bgc_PON = .true. 28 | tr_bgc_hum = .true. 29 | tr_bgc_DON = .true. 30 | tr_bgc_Fe = .true. 31 | tfrz_option = "mushy" 32 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.boxslotcyl: -------------------------------------------------------------------------------- 1 | grid_atm = 'B' 2 | grid_ocn = 'B' 3 | nilyr = 1 4 | ice_ic = 'internal' 5 | restart_ext = .false. 6 | dt = 3600.0 7 | npt_unit = '1' 8 | npt = 288 9 | grid_type = 'rectangular' 10 | kmt_type = 'default' 11 | dxrect = 10.e5 12 | dyrect = 10.e5 13 | kcatbound = 2 14 | ew_boundary_type = 'closed' 15 | ns_boundary_type = 'closed' 16 | tr_lvl = .false. 17 | tr_pond_lvl = .false. 18 | ktherm = -1 19 | kdyn = -1 20 | kridge = -1 21 | ktransport = 1 22 | atm_data_type = 'box2001' 23 | ocn_data_type = 'box2001' 24 | ice_data_type = 'boxslotcyl' 25 | ice_data_conc = 'c1' 26 | ice_data_dist = 'uniform' 27 | histfreq = 'h','x','x','x','x' 28 | histfreq_n = 6 , 1 , 1 , 1 , 1 29 | f_aice = 'h' 30 | f_hi = 'h' 31 | f_uvel = 'h' 32 | f_vvel = 'h' 33 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.hobart_nag: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source /usr/share/Modules/init/csh 11 | 12 | module purge 13 | module load compiler/nag/6.2 14 | 15 | # May be needed for OpenMP memory 16 | #setenv OMP_STACKSIZE 64M 17 | 18 | endif 19 | 20 | setenv ICE_MACHINE_MACHNAME hobart 21 | setenv ICE_MACHINE_ENVNAME nag 22 | setenv ICE_MACHINE_MAKE gmake 23 | setenv ICE_MACHINE_WKDIR /scratch/cluster/$user/CICE_RUNS 24 | setenv ICE_MACHINE_INPUTDATA /fs/cgd/csm/inputdata 25 | setenv ICE_MACHINE_BASELINE /scratch/cluster/$user/CICE_BASELINE 26 | setenv ICE_MACHINE_SUBMIT "qsub" 27 | setenv ICE_MACHINE_QSTAT "qstat " 28 | setenv ICE_MACHINE_QUEUE "short" 29 | setenv ICE_MACHINE_ACCT P00000000 30 | setenv ICE_MACHINE_TPNODE 24 31 | setenv ICE_MACHINE_BLDTHRDS 1 32 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.ppp6_gnu: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | # OpenMPI 11 | setenv PATH "/home/phb001/.local_rhel-8-icelake-64_gcc/bin:$PATH" 12 | 13 | # OpenMP 14 | setenv OMP_STACKSIZE 64M 15 | 16 | endif 17 | 18 | setenv ICE_MACHINE_MACHNAME ppp6 19 | setenv ICE_MACHINE_ENVNAME gnu 20 | setenv ICE_MACHINE_MAKE make 21 | setenv ICE_MACHINE_WKDIR ~/data/site6/cice/runs/ 22 | setenv ICE_MACHINE_INPUTDATA /space/hall6/sitestore/eccc/cmd/e/sice500/ 23 | setenv ICE_MACHINE_BASELINE ~/data/site6/cice/baselines/ 24 | setenv ICE_MACHINE_MAXRUNLENGTH 6 25 | setenv ICE_MACHINE_SUBMIT qsub 26 | setenv ICE_MACHINE_TPNODE 80 27 | setenv ICE_MACHINE_ACCT unused 28 | setenv ICE_MACHINE_QUEUE development 29 | setenv ICE_MACHINE_BLDTHRDS 40 30 | setenv ICE_MACHINE_QSTAT qstat 31 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.boxrestore: -------------------------------------------------------------------------------- 1 | grid_ocn = 'B' 2 | nilyr = 1 3 | ice_ic = 'internal' 4 | restart_ext = .true. 5 | use_leap_years = .false. 6 | ndtd = 2 7 | kcatbound = 1 8 | ew_boundary_type = 'cyclic' 9 | ns_boundary_type = 'open' 10 | atm_data_type = 'box2001' 11 | ocn_data_type = 'box2001' 12 | ice_data_type = 'box2001' 13 | ice_data_conc = 'box2001' 14 | ice_data_dist = 'box2001' 15 | histfreq = 'd','x','x','x','x' 16 | histfreq_n = 1,1,1,1,1 17 | f_aice = 'd' 18 | tr_iage = .true. 19 | tr_FY = .true. 20 | tr_lvl = .true. 21 | tr_pond_topo = .false. 22 | tr_pond_lvl = .false. 23 | tr_aero = .false. 24 | kitd = 1 25 | ktherm = 1 26 | kdyn = 1 27 | revised_evp = .true. 28 | kstrength = 0 29 | krdg_partic = 0 30 | krdg_redist = 0 31 | seabed_stress = .true. 32 | restore_ice = .true. 33 | shortwave = 'ccsm3' 34 | albedo_type = 'constant' 35 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.hobart_intel: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source /usr/share/Modules/init/csh 11 | 12 | module purge 13 | module load compiler/intel/18.0.3 14 | 15 | # May be needed for OpenMP memory 16 | #setenv OMP_STACKSIZE 64M 17 | 18 | endif 19 | 20 | setenv ICE_MACHINE_MACHNAME hobart 21 | setenv ICE_MACHINE_ENVNAME intel 22 | setenv ICE_MACHINE_MAKE gmake 23 | setenv ICE_MACHINE_WKDIR /scratch/cluster/$user/CICE_RUNS 24 | setenv ICE_MACHINE_INPUTDATA /fs/cgd/csm/inputdata 25 | setenv ICE_MACHINE_BASELINE /scratch/cluster/$user/CICE_BASELINE 26 | setenv ICE_MACHINE_SUBMIT "qsub" 27 | setenv ICE_MACHINE_QSTAT "qstat " 28 | setenv ICE_MACHINE_QUEUE "short" 29 | setenv ICE_MACHINE_ACCT P00000000 30 | setenv ICE_MACHINE_TPNODE 24 31 | setenv ICE_MACHINE_BLDTHRDS 1 32 | -------------------------------------------------------------------------------- /configuration/scripts/tests/create_fails.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh 2 | 3 | echo " " 4 | set tmpfile = create_fails.tmp 5 | set outfile = fails.ts 6 | 7 | ./results.csh >& /dev/null 8 | cat results.log | grep ' run\| test' | grep -v "#" | grep -v PASS | cut -f 2 -d " " | sort -u >! $tmpfile 9 | 10 | echo "# Test Grid PEs Sets" >! $outfile 11 | foreach line ( "`cat $tmpfile`" ) 12 | #echo $line 13 | set test = `echo $line | cut -d "_" -f 3` 14 | set grid = `echo $line | cut -d "_" -f 4` 15 | set pes = `echo $line | cut -d "_" -f 5` 16 | set opts = `echo $line | cut -d "_" -f 6- | sed 's/_/,/g'` 17 | echo "$test $grid $pes $opts" >> $outfile 18 | end 19 | 20 | rm $tmpfile 21 | echo "$0 done" 22 | echo "Failed tests can be rerun with the test suite file...... $outfile" 23 | echo "To run a new test suite, copy $outfile to the top directory and do something like" 24 | echo " ./cice.setup --suite $outfile ..." 25 | -------------------------------------------------------------------------------- /cicecore/drivers/nuopc/cmeps/ice_scam.F90: -------------------------------------------------------------------------------- 1 | module ice_scam 2 | 3 | use ice_kinds_mod 4 | 5 | implicit none 6 | 7 | ! single column control variables (only used for latlon grid) 8 | 9 | logical :: single_column = .false. ! true => single column mode 10 | real (kind=dbl_kind) :: scmlat ! single column latitude (degrees) 11 | real (kind=dbl_kind) :: scmlon ! single column longitude (degrees) 12 | real (kind=dbl_kind) :: scol_frac ! single column ocn fraction 13 | real (kind=dbl_kind) :: scol_mask ! single column ocn mask 14 | real (kind=dbl_kind) :: scol_area ! single column ocn area 15 | integer :: scol_ni ! ni size of single column domain file 16 | integer :: scol_nj ! nj size of single column domain file 17 | logical :: scol_valid = .false. ! true => single column mask is 1 18 | 19 | end module ice_scam 20 | 21 | -------------------------------------------------------------------------------- /doc/source/intro/copyright.rst: -------------------------------------------------------------------------------- 1 | :tocdepth: 3 2 | 3 | .. _copyright: 4 | 5 | Copyright 6 | ============================= 7 | 8 | Copyright 1998-2025, Triad National Security, LLC 9 | All rights reserved. 10 | 11 | This program was produced under U.S. Government contract 89233218CNA000001 for Los Alamos National Laboratory (LANL), which is operated by Triad National Security, LLC for the U.S. Department of Energy/National Nuclear Security Administration. All rights in the program are reserved by Triad National Security, LLC, and the U.S. Department of Energy/National Nuclear Security Administration. The Government is granted for itself and others acting on its behalf a nonexclusive, paid-up, irrevocable worldwide license in this material to reproduce, prepare. derivative works, distribute copies to the public, perform publicly and display publicly, and to permit others to do so. 12 | 13 | This program is Open-Source under the BSD-3 License. 14 | -------------------------------------------------------------------------------- /configuration/scripts/tests/poll_queue.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | if (-e poll_queue.env) then 4 | source poll_queue.env 5 | endif 6 | 7 | # Parse the job IDs from suite.jobs. This should work for PBS, Slurm, or IBM LFS but needs 8 | # to be thoroughly tested (so far only tested on PBS) 9 | 10 | # Wait for all jobs to finish 11 | foreach line ("`cat suite.jobs`") 12 | set job = `echo "$line" | sed 's|^[^0-9]*\([0-9]*\).*$|\1|g'` 13 | set qstatjob = 1 14 | if (${job} =~ [0-9]*) then 15 | while ($qstatjob) 16 | set qstatus = `${ICE_MACHINE_QSTAT} $job | grep $job | wc -l` 17 | # echo $job $qstatus 18 | if ($qstatus == 0) then 19 | echo "Job $job completed" 20 | set qstatjob = 0 21 | else 22 | echo "Waiting for $job to complete" 23 | sleep 60 # Sleep for 1 minute, so as not to overwhelm the queue manager 24 | endif 25 | # echo $qstatjob 26 | end 27 | endif 28 | end 29 | 30 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.travisCI_gnu: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | # May be needed for OpenMP memory 4 | #setenv OMP_STACKSIZE 64M 5 | 6 | setenv ICE_MACHINE_MACHNAME travisCI 7 | setenv ICE_MACHINE_MACHINFO "Cloud Computing" 8 | setenv ICE_MACHINE_ENVNAME gnu 9 | setenv ICE_MACHINE_ENVINFO "(NOTE: varies in time) gfortran, gcc, openmpi, netcdf" 10 | setenv ICE_MACHINE_MAKE make 11 | setenv ICE_MACHINE_WKDIR ~/CICE_RUNS 12 | setenv ICE_MACHINE_INPUTDATA ~ 13 | setenv ICE_MACHINE_BASELINE ~/CICE_BASELINE 14 | setenv ICE_MACHINE_SUBMIT " " 15 | setenv ICE_MACHINE_TPNODE 4 # maximum tasks per node 16 | setenv ICE_MACHINE_MAXPES 4 # maximum total pes (tasks * threads) available 17 | setenv ICE_MACHINE_MAXRUNLENGTH 1 # maximum batch wall time limit in hours (integer) 18 | setenv ICE_MACHINE_ACCT P0000000 19 | setenv ICE_MACHINE_QUEUE "default" 20 | setenv ICE_MACHINE_BLDTHRDS 1 21 | setenv ICE_MACHINE_QSTAT " " 22 | setenv ICE_MACHINE_QUIETMODE true 23 | -------------------------------------------------------------------------------- /cicecore/drivers/mapl/geos/CICE_copyright.txt: -------------------------------------------------------------------------------- 1 | ! Copyright 1998-2025, Triad National Security, LLC 2 | ! All rights reserved. 3 | ! 4 | ! This program was produced under U.S. Government contract 89233218CNA000001 5 | ! for Los Alamos National Laboratory (LANL), which is operated by Triad 6 | ! National Security, LLC for the U.S. Department of Energy/National Nuclear 7 | ! Security Administration. All rights in the program are reserved by Triad 8 | ! National Security, LLC, and the U.S. Department of Energy/National Nuclear 9 | ! Security Administration. The Government is granted for itself and others 10 | ! acting on its behalf a nonexclusive, paid-up, irrevocable worldwide 11 | ! license in this material to reproduce, prepare. derivative works, 12 | ! distribute copies to the public, perform publicly and display publicly, 13 | ! and to permit others to do so. 14 | ! 15 | ! The full license and distribution policy are available from 16 | ! https://github.com/CICE-Consortium 17 | ! 18 | -------------------------------------------------------------------------------- /cicecore/drivers/mct/cesm1/CICE_copyright.txt: -------------------------------------------------------------------------------- 1 | ! Copyright 1998-2025, Triad National Security, LLC 2 | ! All rights reserved. 3 | ! 4 | ! This program was produced under U.S. Government contract 89233218CNA000001 5 | ! for Los Alamos National Laboratory (LANL), which is operated by Triad 6 | ! National Security, LLC for the U.S. Department of Energy/National Nuclear 7 | ! Security Administration. All rights in the program are reserved by Triad 8 | ! National Security, LLC, and the U.S. Department of Energy/National Nuclear 9 | ! Security Administration. The Government is granted for itself and others 10 | ! acting on its behalf a nonexclusive, paid-up, irrevocable worldwide 11 | ! license in this material to reproduce, prepare. derivative works, 12 | ! distribute copies to the public, perform publicly and display publicly, 13 | ! and to permit others to do so. 14 | ! 15 | ! The full license and distribution policy are available from 16 | ! https://github.com/CICE-Consortium 17 | ! 18 | -------------------------------------------------------------------------------- /cicecore/drivers/nuopc/cmeps/CICE_copyright.txt: -------------------------------------------------------------------------------- 1 | ! Copyright 1998-2025, Triad National Security, LLC 2 | ! All rights reserved. 3 | ! 4 | ! This program was produced under U.S. Government contract 89233218CNA000001 5 | ! for Los Alamos National Laboratory (LANL), which is operated by Triad 6 | ! National Security, LLC for the U.S. Department of Energy/National Nuclear 7 | ! Security Administration. All rights in the program are reserved by Triad 8 | ! National Security, LLC, and the U.S. Department of Energy/National Nuclear 9 | ! Security Administration. The Government is granted for itself and others 10 | ! acting on its behalf a nonexclusive, paid-up, irrevocable worldwide 11 | ! license in this material to reproduce, prepare. derivative works, 12 | ! distribute copies to the public, perform publicly and display publicly, 13 | ! and to permit others to do so. 14 | ! 15 | ! The full license and distribution policy are available from 16 | ! https://github.com/CICE-Consortium 17 | ! 18 | -------------------------------------------------------------------------------- /configuration/scripts/tests/first_suite.ts: -------------------------------------------------------------------------------- 1 | # Test Grid PEs Sets BFB-compare 2 | smoke gx3 8x2 diag1,run5day 3 | # decomp_suite 4 | restart gx3 4x2x25x29x4 dslenderX2 5 | smoke gx3 4x2x25x29 debug,run2day,dslenderX2 6 | # reprosum_suite 7 | smoke gx3 4x2x25x29x4 dslenderX2,diag1,reprosum 8 | # travis_suite 9 | smoke gx3 1x2 run2day 10 | # gridsys_suite 11 | smoke gx3 1x1x100x116 reprosum,run10day 12 | smoke gx1 32x1x16x16 reprosum,run10day 13 | smoke gx3 1x1x100x116 reprosum,run10day,gridcd 14 | smoke gx1 32x1x16x16 reprosum,run10day,gridcd 15 | smoke gx3 1x1x100x116 reprosum,run10day,gridc 16 | smoke gx1 32x1x16x16 reprosum,run10day,gridc 17 | # perf_suite 18 | smoke gx1 32x1x16x16 run2day,droundrobin 19 | smoke gx1 64x1x16x16 run2day,droundrobin,thread 20 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.phase3_intel: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | #. $MODULESHOME/init/csh 4 | source $MODULESHOME/init/csh 5 | echo done with init.csh 6 | module use -a $MODULESHOME/modulefiles 7 | 8 | module purge 9 | module load lsf/10.1 10 | module load ips/18.0.1.163 11 | module load impi/18.0.1 12 | module load NetCDF/4.5.0 13 | module load ESMF/7_1_0r 14 | module list 15 | 16 | # May be needed for OpenMP memory 17 | #setenv OMP_STACKSIZE 64M 18 | 19 | setenv ICE_MACHINE_MACHNAME phase3 20 | setenv ICE_MACHINE_ENVNAME intel 21 | setenv ICE_MACHINE_MAKE gmake 22 | setenv ICE_MACHINE_WKDIR /u/Robert.Grumbine/noscrub/CICE_RUNS 23 | setenv ICE_MACHINE_INPUTDATA /u/Robert.Grumbine/noscrub/ 24 | setenv ICE_MACHINE_BASELINE /u/Robert.Grumbine/noscrub/CICE_BASELINE 25 | setenv ICE_MACHINE_SUBMIT "bsub < " 26 | setenv ICE_MACHINE_TPNODE 4 27 | setenv ICE_MACHINE_QUEUE "default" 28 | setenv ICE_MACHINE_ACCT P0000000 29 | setenv ICE_MACHINE_BLDTHRDS 1 30 | setenv ICE_MACHINE_QSTAT "bjobs " 31 | 32 | -------------------------------------------------------------------------------- /configuration/scripts/set_version_number.csh: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | if ( $#argv < 1 ) then 4 | echo "$0 requires one argument, none passed" 5 | exit -1 6 | endif 7 | if ( $#argv > 1 ) then 8 | echo "$0 requires one argument, passed = $argv" 9 | exit -1 10 | endif 11 | 12 | set versno = $1 13 | set cdate = `date +%Y-%m-%d` 14 | #echo "$0 versno = $versno" 15 | 16 | cp -f doc/source/conf.py doc/source/conf.py.bu 17 | 18 | sed -i 's|^.*version.*=.*$|version = u'"'"${versno}"'"' | g' doc/source/conf.py 19 | sed -i 's|^.*release.*=.*$|version = u'"'"${versno}"'"' | g' doc/source/conf.py 20 | 21 | cp -f .zenodo.json .zenodo.json.bu 22 | 23 | sed -i 's|^\(.*CICE-Consortium/CICE:\).*$|\1 CICE Version '${versno}'", | g' .zenodo.json 24 | sed -i 's|^\(.*"version":\).*$|\1 "'${versno}'", | g' .zenodo.json 25 | sed -i 's|^\(.*"publication_date":\).*$|\1 "'${cdate}'", | g' .zenodo.json 26 | 27 | echo "CICE ${versno}" >! cicecore/version.txt 28 | 29 | echo "$0 completed successfully" 30 | 31 | exit 0 32 | -------------------------------------------------------------------------------- /configuration/scripts/tests/rgvers_suite.ts: -------------------------------------------------------------------------------- 1 | # Test Grid PEs Sets BFB-compare 2 | #restart gx1 4x4 droundrobin,short 3 | #restart gx1 8x4 droundrobin,short 4 | #restart gx1 12x4 droundrobin,short 5 | #restart gx1 16x4 droundrobin,short 6 | #restart gx1 20x4 droundrobin,short 7 | #restart gx1 24x4 droundrobin,short 8 | #restart gx1 28x4 droundrobin,short 9 | #restart gx1 32x4 droundrobin,short 10 | restart gx1 32x2 droundrobin,short 11 | restart gx1 32x3 droundrobin,short 12 | restart gx1 32x1 droundrobin,short 13 | 14 | restart gx1 33x4 droundrobin,short 15 | restart gx1 34x4 droundrobin,short 16 | restart gx1 35x4 droundrobin,short 17 | restart gx1 36x4 droundrobin,short 18 | #restart gx1 40x4 droundrobin,short 19 | -------------------------------------------------------------------------------- /cicecore/drivers/mapl/geos/ice_shr_methods.F90: -------------------------------------------------------------------------------- 1 | module ice_shr_methods 2 | 3 | use ESMF , only : ESMF_LOGERR_PASSTHRU, ESMF_LogFoundError, ESMF_LOGMSG_ERROR, ESMF_MAXSTR 4 | use ESMF , only : ESMF_SUCCESS, ESMF_LogWrite, ESMF_LOGMSG_INFO, ESMF_FAILURE 5 | 6 | implicit none 7 | private 8 | 9 | public :: chkerr 10 | 11 | 12 | !=============================================================================== 13 | contains 14 | !=============================================================================== 15 | 16 | 17 | logical function chkerr(rc, line, file) 18 | 19 | integer, intent(in) :: rc 20 | integer, intent(in) :: line 21 | character(len=*), intent(in) :: file 22 | 23 | integer :: lrc 24 | character(len=*), parameter :: subname='(chkerr)' 25 | 26 | chkerr = .false. 27 | lrc = rc 28 | if (ESMF_LogFoundError(rcToCheck=lrc, msg=ESMF_LOGERR_PASSTHRU, line=line, file=file)) then 29 | chkerr = .true. 30 | endif 31 | end function chkerr 32 | 33 | end module ice_shr_methods 34 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.izumi_pgi: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source /usr/share/Modules/init/csh 11 | 12 | module purge 13 | module load compiler/pgi/20.1 14 | 15 | setenv OMP_STACKSIZE 64M 16 | 17 | endif 18 | 19 | setenv ICE_MACHINE_MACHNAME izumi 20 | setenv ICE_MACHINE_MACHINFO "Intel Xeon Gold 5118 2.3GHz" 21 | setenv ICE_MACHINE_ENVNAME pgi 22 | setenv ICE_MACHINE_ENVINFO "pgf90 20.1-0, mvapich2-2.3.3, netcdf4.7.4" 23 | setenv ICE_MACHINE_MAKE gmake 24 | setenv ICE_MACHINE_WKDIR /scratch/cluster/$user/CICE_RUNS 25 | setenv ICE_MACHINE_INPUTDATA /fs/cgd/csm/inputdata 26 | setenv ICE_MACHINE_BASELINE /scratch/cluster/$user/CICE_BASELINE 27 | setenv ICE_MACHINE_SUBMIT "qsub" 28 | setenv ICE_MACHINE_QSTAT "qstat " 29 | setenv ICE_MACHINE_QUEUE "short" 30 | setenv ICE_MACHINE_ACCT P00000000 31 | setenv ICE_MACHINE_TPNODE 48 32 | setenv ICE_MACHINE_MAXPES 384 33 | setenv ICE_MACHINE_MAXTHREADS 1 34 | setenv ICE_MACHINE_BLDTHRDS 1 35 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.izumi_gnu: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source /usr/share/Modules/init/csh 11 | 12 | module purge 13 | module load compiler/gnu/9.3.0 14 | 15 | setenv OMP_STACKSIZE 64M 16 | 17 | endif 18 | 19 | setenv ICE_MACHINE_MACHNAME izumi 20 | setenv ICE_MACHINE_MACHINFO "Intel Xeon Gold 5118 2.3GHz" 21 | setenv ICE_MACHINE_ENVNAME gnu 22 | setenv ICE_MACHINE_ENVINFO "GNU Fortran (GCC) 9.3.0, mvapich2-2.3.3, netcdf4.7.4" 23 | setenv ICE_MACHINE_MAKE gmake 24 | setenv ICE_MACHINE_WKDIR /scratch/cluster/$user/CICE_RUNS 25 | setenv ICE_MACHINE_INPUTDATA /fs/cgd/csm/inputdata 26 | setenv ICE_MACHINE_BASELINE /scratch/cluster/$user/CICE_BASELINE 27 | setenv ICE_MACHINE_SUBMIT "qsub" 28 | setenv ICE_MACHINE_QSTAT "qstat " 29 | setenv ICE_MACHINE_QUEUE "short" 30 | setenv ICE_MACHINE_ACCT P00000000 31 | setenv ICE_MACHINE_TPNODE 48 32 | setenv ICE_MACHINE_MAXPES 384 33 | setenv ICE_MACHINE_MAXTHREADS 1 34 | setenv ICE_MACHINE_BLDTHRDS 1 35 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.gx1: -------------------------------------------------------------------------------- 1 | dt = 3600.0 2 | runtype = 'initial' 3 | year_init = 2005 4 | use_leap_years = .true. 5 | use_restart_time = .false. 6 | ice_ic = 'ICE_MACHINE_INPUTDATA/CICE_data/ic/gx1/iced_gx1_v6.2005-01-01.nc' 7 | grid_format = 'bin' 8 | grid_type = 'displaced_pole' 9 | grid_file = 'ICE_MACHINE_INPUTDATA/CICE_data/grid/gx1/grid_gx1.bin' 10 | kmt_file = 'ICE_MACHINE_INPUTDATA/CICE_data/grid/gx1/kmt_gx1.bin' 11 | bathymetry_file = 'ICE_MACHINE_INPUTDATA/CICE_data/grid/gx1/global_gx1.bathy.nc' 12 | maskhalo_dyn = .true. 13 | maskhalo_remap = .true. 14 | maskhalo_bound = .true. 15 | fyear_init = 2005 16 | atm_data_format = 'nc' 17 | atm_data_type = 'JRA55' 18 | atm_data_version = '' 19 | atm_data_dir = 'ICE_MACHINE_INPUTDATA/CICE_data/forcing/gx1' 20 | precip_units = 'mks' 21 | ocn_data_dir = 'ICE_MACHINE_INPUTDATA/CICE_data/forcing/gx1/CESM/MONTHLY' 22 | bgc_data_dir = 'ICE_MACHINE_INPUTDATA/CICE_data/forcing/gx1/WOA/MONTHLY' 23 | distribution_wght_file = 'ICE_MACHINE_INPUTDATA/CICE_data/grid/gx1/cice62_gx1_wghtmask.nc' 24 | -------------------------------------------------------------------------------- /doc/source/BIB_TEMPLATE.txt: -------------------------------------------------------------------------------- 1 | Format for a standard journal entry into master_list.bib 2 | 3 | % ** example template ** 4 | @Article{LASTNAME1YY 5 | author = "F.N.1 LASTNAME1 and F.N.2 LASTNAME2 and ...", 6 | title = "{TITLE}", 7 | journal = ACRONYMN, 8 | year = {YYYY}, 9 | volume = {N}, 10 | issue = {I}, 11 | pages = {PP-PP}, 12 | url = {http://dx.doi.org/XXXXX} 13 | } 14 | 15 | 16 | NOTES: 17 | - Format for "author" entry you must use just 18 | quote marks " " around list. The names are 19 | separated just by the word 'and' 20 | - Format for "title" is to use BOTH quotes and 21 | curly braces "{ }" 22 | - Format for "journal" MUST use an acronym 23 | defined at the top of master_list.bib. Do not 24 | use anything around the acronym 25 | - Format for "year", "volume", "issue", "pages", 26 | and "url" are all just curly braces { } 27 | - All entries must have a comma at the end EXCEPT 28 | after final entry (url) 29 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.izumi_intel: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source /usr/share/Modules/init/csh 11 | 12 | module purge 13 | module load compiler/intel/20.0.1 14 | 15 | setenv OMP_STACKSIZE 64M 16 | 17 | endif 18 | 19 | setenv ICE_MACHINE_MACHNAME izumi 20 | setenv ICE_MACHINE_MACHINFO "Intel Xeon Gold 5118 2.3GHz" 21 | setenv ICE_MACHINE_ENVNAME intel 22 | setenv ICE_MACHINE_ENVINFO "ifort 19.1.0.166 20191121, mvapich2-2.3.3, netcdf4.7.4" 23 | setenv ICE_MACHINE_MAKE gmake 24 | setenv ICE_MACHINE_CPPDEFS "" 25 | setenv ICE_MACHINE_WKDIR /scratch/cluster/$user/CICE_RUNS 26 | setenv ICE_MACHINE_INPUTDATA /fs/cgd/csm/inputdata 27 | setenv ICE_MACHINE_BASELINE /scratch/cluster/$user/CICE_BASELINE 28 | setenv ICE_MACHINE_SUBMIT "qsub" 29 | setenv ICE_MACHINE_QSTAT "qstat " 30 | setenv ICE_MACHINE_QUEUE "short" 31 | setenv ICE_MACHINE_ACCT P00000000 32 | setenv ICE_MACHINE_TPNODE 48 33 | setenv ICE_MACHINE_MAXPES 384 34 | setenv ICE_MACHINE_MAXTHREADS 1 35 | setenv ICE_MACHINE_BLDTHRDS 1 36 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.boxopen: -------------------------------------------------------------------------------- 1 | npt_unit = '1' 2 | npt = 48 3 | ice_ic = 'internal' 4 | use_leap_years = .false. 5 | histfreq = 'd','x','x','x','x' 6 | grid_type = 'rectangular' 7 | dxrect = 16.e5 8 | dyrect = 16.e5 9 | ew_boundary_type = 'cyclic' 10 | ns_boundary_type = 'open' 11 | ktherm = -1 12 | kstrength = 0 13 | kdyn = 1 14 | kridge = -1 15 | ktransport = -1 16 | coriolis = 'constant' 17 | atmbndy = 'constant' 18 | rotate_wind = .false. 19 | calc_strair = .false. 20 | restore_ice = .false. 21 | tr_iage = .false. 22 | tr_FY = .false. 23 | tr_pond_lvl = .false. 24 | f_aice = 'd' 25 | f_hi = 'd' 26 | f_hs = 'd' 27 | f_Tsfc = 'd' 28 | f_uvel = 'd' 29 | f_vvel = 'd' 30 | f_uatm = 'd' 31 | f_vatm = 'd' 32 | f_uocn = 'd' 33 | f_vocn = 'd' 34 | f_strairx = 'd' 35 | f_strairy = 'd' 36 | f_strocnx = 'd' 37 | f_strocny = 'd' 38 | f_divu = 'd' 39 | f_sig1 = 'd' 40 | f_sig2 = 'd' 41 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.daley_gnu: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for ECCC daley 3 | #============================================================================== 4 | # For use with GNU compiler 5 | #============================================================================== 6 | 7 | CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS} 8 | CFLAGS := -c -O2 9 | #-xHost 10 | 11 | FREEFLAGS := -ffree-form 12 | FFLAGS := -fconvert=big-endian -fbacktrace -ffree-line-length-none 13 | #-xHost 14 | 15 | ifeq ($(ICE_BLDDEBUG), true) 16 | FFLAGS += -O0 -g -fcheck=bounds -finit-real=nan -fimplicit-none -ffpe-trap=invalid,zero,overflow 17 | else 18 | FFLAGS += -O2 19 | endif 20 | 21 | SCC := cc 22 | SFC := ftn 23 | MPICC := cc 24 | MPIFC := ftn 25 | 26 | ifeq ($(ICE_COMMDIR), mpi) 27 | FC := $(MPIFC) 28 | CC := $(MPICC) 29 | else 30 | FC := $(SFC) 31 | CC := $(SCC) 32 | endif 33 | LD:= $(FC) 34 | 35 | ifeq ($(ICE_THREADED), true) 36 | LDFLAGS += -fopenmp 37 | CFLAGS += -fopenmp 38 | FFLAGS += -fopenmp 39 | endif 40 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.banting_gnu: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for ECCC banting 3 | #============================================================================== 4 | # For use with GNU compiler 5 | #============================================================================== 6 | 7 | CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS} 8 | CFLAGS := -c -O2 9 | #-xHost 10 | 11 | FREEFLAGS := -ffree-form 12 | FFLAGS := -fconvert=big-endian -fbacktrace -ffree-line-length-none 13 | #-xHost 14 | 15 | ifeq ($(ICE_BLDDEBUG), true) 16 | FFLAGS += -O0 -g -fcheck=bounds -finit-real=nan -fimplicit-none -ffpe-trap=invalid,zero,overflow 17 | else 18 | FFLAGS += -O2 19 | endif 20 | 21 | SCC := cc 22 | SFC := ftn 23 | MPICC := cc 24 | MPIFC := ftn 25 | 26 | ifeq ($(ICE_COMMDIR), mpi) 27 | FC := $(MPIFC) 28 | CC := $(MPICC) 29 | else 30 | FC := $(SFC) 31 | CC := $(SCC) 32 | endif 33 | LD:= $(FC) 34 | 35 | ifeq ($(ICE_THREADED), true) 36 | LDFLAGS += -fopenmp 37 | CFLAGS += -fopenmp 38 | FFLAGS += -fopenmp 39 | endif 40 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.izumi_pgi: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for NCAR izumi, pgi compiler 3 | #============================================================================== 4 | 5 | CPP := pgcc -E 6 | CPPDEFS := -DFORTRANUNDERSCORE -DNO_R16 ${ICE_CPPDEFS} 7 | CFLAGS := -c -O2 -Kieee 8 | 9 | FIXEDFLAGS := -Mextend 10 | FREEFLAGS := -Mfree 11 | FFLAGS := -Kieee -Mbyteswapio -traceback 12 | FFLAGS_NOOPT:= -O0 13 | 14 | ifeq ($(ICE_BLDDEBUG), true) 15 | FFLAGS += -O0 -g -Mbounds -Mchkptr 16 | else 17 | FFLAGS += -O2 18 | endif 19 | 20 | SCC := pgcc 21 | SFC := pgf90 22 | MPICC := mpicc 23 | MPIFC := mpif90 24 | 25 | ifeq ($(ICE_COMMDIR), mpi) 26 | FC := $(MPIFC) 27 | CC := $(MPICC) 28 | else 29 | FC := $(SFC) 30 | CC := $(SCC) 31 | endif 32 | LD:= $(FC) 33 | 34 | INCLDIR := -I$(NETCDF_PATH)/include 35 | 36 | LIB_NETCDF := $(NETCDF_PATH)/lib 37 | 38 | SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff 39 | 40 | ifeq ($(ICE_THREADED), true) 41 | LDFLAGS += -mp 42 | CFLAGS += -mp 43 | FFLAGS += -mp 44 | endif 45 | 46 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.izumi_nag: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source /usr/share/Modules/init/csh 11 | 12 | module purge 13 | #module load compiler/nag/7.0 14 | module load compiler/nag/6.2-8.1.0 15 | 16 | setenv OMP_STACKSIZE 64M 17 | 18 | endif 19 | 20 | setenv ICE_MACHINE_MACHNAME izumi 21 | setenv ICE_MACHINE_MACHINFO "Intel Xeon Gold 5118 2.3GHz" 22 | setenv ICE_MACHINE_ENVNAME nag 23 | setenv ICE_MACHINE_ENVINFO "NAG Fortran Compiler Release 6.2(Chiyoda) Build 6207, gcc (GCC) 8.1.0, cc (GCC) 4.8.5 20150623, mvapich2-2.3.3, netcdf/c4.6.1-f4.4.4" 24 | setenv ICE_MACHINE_MAKE gmake 25 | setenv ICE_MACHINE_WKDIR /scratch/cluster/$user/CICE_RUNS 26 | setenv ICE_MACHINE_INPUTDATA /fs/cgd/csm/inputdata 27 | setenv ICE_MACHINE_BASELINE /scratch/cluster/$user/CICE_BASELINE 28 | setenv ICE_MACHINE_SUBMIT "qsub" 29 | setenv ICE_MACHINE_QSTAT "qstat " 30 | setenv ICE_MACHINE_QUEUE "short" 31 | setenv ICE_MACHINE_ACCT P00000000 32 | setenv ICE_MACHINE_TPNODE 48 33 | setenv ICE_MACHINE_MAXPES 384 34 | setenv ICE_MACHINE_MAXTHREADS 1 35 | setenv ICE_MACHINE_BLDTHRDS 1 36 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.hera_intel: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source /etc/profile.d/modules.csh 11 | #module list 12 | module purge 13 | module load gnu/13.2.0 14 | module load intel/2023.2.0 15 | module load impi/2023.2.0 16 | module load netcdf/4.7.0 17 | #module list 18 | 19 | endif 20 | 21 | # May be needed for OpenMP memory 22 | setenv OMP_STACKSIZE 64M 23 | 24 | setenv ICE_MACHINE_MACHNAME hera 25 | setenv ICE_MACHINE_MACHINFO "Cray CS500 Intel SkyLake 2.4GHz, Infiniband HDR" 26 | setenv ICE_MACHINE_ENVNAME intel 27 | setenv ICE_MACHINE_ENVINFO "icc/ifort 2021.10.0 20230609, intelmpi/2023.2.0, netcdf/4.7.0" 28 | setenv ICE_MACHINE_MAKE gmake 29 | setenv ICE_MACHINE_WKDIR $HOME/scratch/CICE_RUNS 30 | setenv ICE_MACHINE_INPUTDATA /home/Anthony.Craig/scratch/CICE_INPUTDATA 31 | setenv ICE_MACHINE_BASELINE $HOME/scratch/CICE_BASELINE 32 | setenv ICE_MACHINE_SUBMIT "sbatch" 33 | setenv ICE_MACHINE_TPNODE 40 34 | setenv ICE_MACHINE_ACCT P0000000 35 | setenv ICE_MACHINE_QUEUE "batch" 36 | setenv ICE_MACHINE_BLDTHRDS 1 37 | setenv ICE_MACHINE_QSTAT "squeue --jobs=" 38 | -------------------------------------------------------------------------------- /doc/source/intro/citing.rst: -------------------------------------------------------------------------------- 1 | :tocdepth: 3 2 | 3 | .. _citing: 4 | 5 | Citing the CICE code 6 | ==================== 7 | 8 | Each individual release has its own Digital Object Identifier (DOI), 9 | e.g. CICE v6.1.2 has DOI 10.5281/zenodo.3888653. All versions of 10 | this lineage (e.g. CICE6) can be cited by using the DOI 11 | 10.5281/zenodo.1205674 (https://zenodo.org/record/1205674). This DOI 12 | represents all v6 releases, and will always resolve to the latest one. 13 | More information can be found by following the DOI link to zenodo. 14 | 15 | If you use CICE, please cite the version number of the code you 16 | are using or modifying. 17 | 18 | If using code from the CICE-Consortium repository ``main`` branch 19 | that includes modifications 20 | that have not yet been released with a version number, then in 21 | addition to the most recent version number, the hash at time of 22 | download can be cited, determined by executing the command ``git log`` 23 | in your clone. 24 | 25 | A hash can also be cited for your own modifications, once they have 26 | been committed to a repository branch. 27 | 28 | Please also make the CICE Consortium aware of any publications and 29 | model use. 30 | 31 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.banting_intel: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for ECCC banting 3 | #============================================================================== 4 | # For use with intel compiler 5 | #============================================================================== 6 | 7 | CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS} 8 | CFLAGS := -c -O2 -fp-model precise 9 | #-xHost 10 | 11 | FREEFLAGS := -FR 12 | FFLAGS := -fp-model source -convert big_endian -assume byterecl -ftz -traceback -no-wrap-margin 13 | #-xHost 14 | 15 | ifeq ($(ICE_BLDDEBUG), true) 16 | FFLAGS += -O0 -g -check -fpe0 -ftrapuv -fp-model except -check noarg_temp_created -init=snan,arrays 17 | # -heap-arrays 1024 18 | else 19 | FFLAGS += -O2 20 | endif 21 | 22 | SCC := cc 23 | SFC := ftn 24 | MPICC := cc 25 | MPIFC := ftn 26 | 27 | ifeq ($(ICE_COMMDIR), mpi) 28 | FC := $(MPIFC) 29 | CC := $(MPICC) 30 | else 31 | FC := $(SFC) 32 | CC := $(SCC) 33 | endif 34 | LD:= $(FC) 35 | 36 | ifeq ($(ICE_THREADED), true) 37 | LDFLAGS += -qopenmp 38 | CFLAGS += -qopenmp 39 | FFLAGS += -qopenmp 40 | endif 41 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.daley_intel: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for ECCC daley 3 | #============================================================================== 4 | # For use with intel compiler 5 | #============================================================================== 6 | 7 | CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS} 8 | CFLAGS := -c -O2 -fp-model precise 9 | #-xHost 10 | 11 | FREEFLAGS := -FR 12 | FFLAGS := -fp-model source -convert big_endian -assume byterecl -ftz -traceback -no-wrap-margin 13 | #-xHost 14 | 15 | ifeq ($(ICE_BLDDEBUG), true) 16 | FFLAGS += -O0 -g -check -fpe0 -ftrapuv -fp-model except -check noarg_temp_created 17 | #-heap-arrays 1024 18 | #-init=snan,arrays 19 | else 20 | FFLAGS += -O2 21 | endif 22 | 23 | SCC := cc 24 | SFC := ftn 25 | MPICC := cc 26 | MPIFC := ftn 27 | 28 | ifeq ($(ICE_COMMDIR), mpi) 29 | FC := $(MPIFC) 30 | CC := $(MPICC) 31 | else 32 | FC := $(SFC) 33 | CC := $(SCC) 34 | endif 35 | LD:= $(FC) 36 | 37 | ifeq ($(ICE_THREADED), true) 38 | LDFLAGS += -qopenmp 39 | CFLAGS += -qopenmp 40 | FFLAGS += -qopenmp 41 | endif 42 | -------------------------------------------------------------------------------- /configuration/scripts/tests/test_unittest.script: -------------------------------------------------------------------------------- 1 | 2 | #---------------------------------------------------- 3 | # Run the CICE model 4 | # cice.run returns -1 if run did not complete successfully 5 | 6 | ./cice.run 7 | set rres="$status" 8 | 9 | set log_file = `ls -t1 ${ICE_RUNDIR}/cice.runlog* | head -1` 10 | 11 | grep ' TEST COMPLETED SUCCESSFULLY' ${log_file} 12 | set tres="$status" 13 | 14 | mv -f ${ICE_CASEDIR}/test_output ${ICE_CASEDIR}/test_output.prev 15 | cat ${ICE_CASEDIR}/test_output.prev | grep -iv "${ICE_TESTNAME} run" >! ${ICE_CASEDIR}/test_output 16 | mv -f ${ICE_CASEDIR}/test_output ${ICE_CASEDIR}/test_output.prev 17 | cat ${ICE_CASEDIR}/test_output.prev | grep -iv "${ICE_TESTNAME} test" >! ${ICE_CASEDIR}/test_output 18 | rm -f ${ICE_CASEDIR}/test_output.prev 19 | 20 | set rgrade = PASS 21 | if ( $rres != 0 ) then 22 | set rgrade = FAIL 23 | endif 24 | set tgrade = PASS 25 | if ( $tres != 0 ) then 26 | set tgrade = FAIL 27 | endif 28 | 29 | echo "$rgrade ${ICE_TESTNAME} run " >> ${ICE_CASEDIR}/test_output 30 | echo "$tgrade ${ICE_TESTNAME} test " >> ${ICE_CASEDIR}/test_output 31 | 32 | if ( "$rgrade" == "FAIL" || "$tgrade" == "FAIL") then 33 | echo "ERROR: Test failed" 34 | exit 99 35 | endif 36 | 37 | -------------------------------------------------------------------------------- /cicecore/shared/ice_kinds_mod.F90: -------------------------------------------------------------------------------- 1 | !======================================================================= 2 | 3 | ! Defines variable precision for all common data types 4 | ! Code originally based on kinds_mod.F in POP 5 | ! 6 | ! author: Elizabeth C. Hunke and William H. Lipscomb, LANL 7 | ! 2006: ECH converted to free source form (F90) 8 | 9 | module ice_kinds_mod 10 | 11 | !======================================================================= 12 | 13 | use icepack_intfc, only: char_len => icepack_char_len 14 | use icepack_intfc, only: char_len_long => icepack_char_len_long 15 | use icepack_intfc, only: log_kind => icepack_log_kind 16 | use icepack_intfc, only: int_kind => icepack_int_kind 17 | use icepack_intfc, only: int8_kind => icepack_int8_kind 18 | use icepack_intfc, only: real_kind => icepack_real_kind 19 | use icepack_intfc, only: dbl_kind => icepack_dbl_kind 20 | use icepack_intfc, only: r16_kind => icepack_r16_kind 21 | 22 | implicit none 23 | public 24 | 25 | !======================================================================= 26 | 27 | end module ice_kinds_mod 28 | 29 | !======================================================================= 30 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to CICE 2 | 3 | Welcome to the CICE Consortium ! Thank you for your interest in contributing to CICE. 4 | 5 | There are many ways to contribute, and we appreciate your efforts. For an introductory tour, head over to our [Contribution guide][contributing] and take a look at the [Resources page][resources], our go-to index with links to code, documentation, testing information, guidelines, and more. 6 | 7 | [contributing]: https://github.com/CICE-Consortium/About-Us/wiki/Contributing 8 | [resources]: https://github.com/CICE-Consortium/About-Us/wiki/Resource-Index 9 | 10 | ## Getting help 11 | If you still need help getting started using the model after reviewing the [model documentation][doc-resources], the first point of contact with the CICE Consortium is the [Consortium Community Forum][forum]. This forum is monitored by Consortium members and is also open to the whole community. **Please do not use our issue tracker for general support questions.** 12 | 13 | [doc-resources]: https://github.com/CICE-Consortium/About-Us/wiki/Resource-Index#model-documentation 14 | [doc-running]: https://cice-consortium-cice.readthedocs.io/en/master/user_guide/ug_running.html 15 | [forum]: https://xenforo.cgd.ucar.edu/cesm/forums/cice-consortium.146/ 16 | 17 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.ppp6_gnu: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for ECCC ppp6 3 | #============================================================================== 4 | # For use with GNU compiler 5 | #============================================================================== 6 | 7 | CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS} 8 | CFLAGS := -c -O2 9 | #-xHost 10 | 11 | FREEFLAGS := -ffree-form 12 | FFLAGS := -fconvert=big-endian -fbacktrace -ffree-line-length-none 13 | #-xHost 14 | 15 | ifeq ($(ICE_BLDDEBUG), true) 16 | FFLAGS += -O0 -g -fcheck=bounds -finit-real=nan -fimplicit-none -ffpe-trap=invalid,zero,overflow 17 | else 18 | FFLAGS += -O2 19 | endif 20 | 21 | SCC := gcc 22 | SFC := gfortran 23 | MPICC := mpicc 24 | MPIFC := mpifort 25 | 26 | ifeq ($(ICE_COMMDIR), mpi) 27 | FC := $(MPIFC) 28 | CC := $(MPICC) 29 | else 30 | FC := $(SFC) 31 | CC := $(SCC) 32 | endif 33 | LD:= $(FC) 34 | 35 | ifeq ($(ICE_IOTYPE), netcdf) 36 | INCLDIR += $(shell nf-config --fflags) 37 | SLIBS := $(shell nf-config --flibs) 38 | endif 39 | 40 | ifeq ($(ICE_THREADED), true) 41 | LDFLAGS += -fopenmp 42 | CFLAGS += -fopenmp 43 | FFLAGS += -fopenmp 44 | endif 45 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.ppp6_gnu-impi: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for ECCC ppp6 3 | #============================================================================== 4 | # For use with GNU compiler 5 | #============================================================================== 6 | 7 | CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS} 8 | CFLAGS := -c -O2 9 | #-xHost 10 | 11 | FREEFLAGS := -ffree-form 12 | FFLAGS := -fconvert=big-endian -fbacktrace -ffree-line-length-none 13 | #-xHost 14 | 15 | ifeq ($(ICE_BLDDEBUG), true) 16 | FFLAGS += -O0 -g -fcheck=bounds -finit-real=nan -fimplicit-none -ffpe-trap=invalid,zero,overflow 17 | else 18 | FFLAGS += -O2 19 | endif 20 | 21 | SCC := gcc 22 | SFC := gfortran 23 | MPICC := mpicc 24 | MPIFC := mpif90 25 | 26 | ifeq ($(ICE_COMMDIR), mpi) 27 | FC := $(MPIFC) 28 | CC := $(MPICC) 29 | else 30 | FC := $(SFC) 31 | CC := $(SCC) 32 | endif 33 | LD:= $(FC) 34 | 35 | ifeq ($(ICE_IOTYPE), netcdf) 36 | INCLDIR += $(shell nf-config --fflags) 37 | SLIBS := $(shell nf-config --flibs) 38 | endif 39 | 40 | ifeq ($(ICE_THREADED), true) 41 | LDFLAGS += -fopenmp 42 | CFLAGS += -fopenmp 43 | FFLAGS += -fopenmp 44 | endif 45 | -------------------------------------------------------------------------------- /configuration/scripts/tests/reprosum_suite.ts: -------------------------------------------------------------------------------- 1 | # Test Grid PEs Sets BFB-compare 2 | smoke gx3 4x2x25x29x4 dslenderX2,diag1,reprosum 3 | #smoke gx3 4x2x25x29x4 dslenderX2,diag1 4 | smoke gx3 1x1x50x58x4 droundrobin,diag1,thread,maskhalo,reprosum,cmplog smoke_gx3_4x2x25x29x4_diag1_dslenderX2_reprosum 5 | smoke gx3 4x1x25x116x1 dslenderX1,diag1,thread,maskhalo,reprosum,cmplog smoke_gx3_4x2x25x29x4_diag1_dslenderX2_reprosum 6 | smoke gx3 1x20x5x29x80 dsectrobin,diag1,short,reprosum,cmplog smoke_gx3_4x2x25x29x4_diag1_dslenderX2_reprosum 7 | smoke gx3 8x2x8x10x20 droundrobin,diag1,reprosum,cmplog smoke_gx3_4x2x25x29x4_diag1_dslenderX2_reprosum 8 | smoke gx3 6x2x50x58x1 droundrobin,diag1,reprosum,cmplog smoke_gx3_4x2x25x29x4_diag1_dslenderX2_reprosum 9 | smoke gx3 6x2x4x29x18 dspacecurve,diag1,maskhalo,reprosum,cmplog smoke_gx3_4x2x25x29x4_diag1_dslenderX2_reprosum 10 | smoke gx3 17x2x1x1x800 droundrobin,diag1,maskhalo,reprosum,cmplog smoke_gx3_4x2x25x29x4_diag1_dslenderX2_reprosum 11 | #smoke gx3 8x2x8x10x20 droundrobin,diag1,cmplog smoke_gx3_4x2x25x29x4_diag1_dslenderX2 12 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.izumi_nag: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for NCAR izumi, NAG compiler 3 | #============================================================================== 4 | 5 | CPP := /usr/bin/cpp 6 | CPPDEFS := -DFORTRANUNDERSCORE -DNO_R16 -DNO_CDF5 $(ICE_CPPDEFS) 7 | CFLAGS := -c 8 | 9 | FIXEDFLAGS := -fixed 10 | FREEFLAGS := -free 11 | FFLAGS := -Wp,-macro=no_com -convert=BIG_ENDIAN -wmismatch=mpi_bcast,mpi_isend,mpi_irecv,mpi_send,mpi_recv,mpi_allreduce 12 | FFLAGS_NOOPT:= -O0 13 | 14 | ifeq ($(ICE_BLDDEBUG), true) 15 | FFLAGS += -O0 -C=all -g -time -f2003 -ieee=stop 16 | else 17 | FFLAGS += -O2 -ieee=full 18 | endif 19 | 20 | SCC := cc 21 | SFC := nagfor 22 | MPICC := mpicc 23 | MPIFC := mpif90 24 | 25 | ifeq ($(ICE_COMMDIR), mpi) 26 | FC := $(MPIFC) 27 | CC := $(MPICC) 28 | else 29 | FC := $(SFC) 30 | CC := $(SCC) 31 | endif 32 | LD:= $(FC) 33 | 34 | INCLDIR := -I$(NETCDF_PATH)/include 35 | 36 | LIB_NETCDF := $(NETCDF_PATH)/lib 37 | 38 | SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff 39 | 40 | ifeq ($(ICE_THREADED), true) 41 | LDFLAGS += -openmp 42 | CFLAGS += -fopenmp 43 | FFLAGS += -openmp 44 | else 45 | FFLAGS += -gline 46 | endif 47 | 48 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.ppp3_intel: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | # SSM package loader 11 | source /fs/ssm/main/opt/ssmuse/ssmuse-1.11/ssmuse_1.11_all/bin/ssmuse-boot.csh >& /dev/null 12 | set ssmuse=`which ssmuse-csh` 13 | # Intel compiler 14 | source $ssmuse -d comm/eccc/all/opt/intelcomp/intelpsxe-cluster-19.0.3.199 15 | setenv FOR_DUMP_CORE_FILE 1 16 | # OpenMPI 17 | source $ssmuse -d /fs/ssm/hpco/exp/openmpi/openmpi-3.1.2--hpcx-2.4.0-mofed-4.6--csh--intel-19.0.3.199 18 | source $ssmuse -d main/opt/openmpi-setup/openmpi-setup-0.3 19 | # NetCDF 20 | source $ssmuse -d hpco/exp/hdf5-netcdf4/serial/static/intel-19.0.3.199/02 21 | 22 | endif 23 | 24 | setenv ICE_MACHINE_MACHNAME ppp3 25 | setenv ICE_MACHINE_ENVNAME intel 26 | setenv ICE_MACHINE_MAKE make 27 | setenv ICE_MACHINE_WKDIR ~/data/site3/cice/runs/ 28 | setenv ICE_MACHINE_INPUTDATA /home/ords/cmdd/cmde/sice500/ 29 | setenv ICE_MACHINE_BASELINE ~/data/site3/cice/baseline/ 30 | setenv ICE_MACHINE_SUBMIT "jobsub" 31 | setenv ICE_MACHINE_TPNODE 36 32 | setenv ICE_MACHINE_ACCT P0000000 33 | setenv ICE_MACHINE_QUEUE "development" 34 | setenv ICE_MACHINE_BLDTHRDS 24 35 | setenv ICE_MACHINE_QSTAT "jobctl-qstat " 36 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.compy_intel: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macro for PNNL compy, intel compiler 3 | #============================================================================== 4 | 5 | CPP := fpp 6 | CPPDEFS := -DFORTRANUNDERSCORE -DNO_HDF5 ${ICE_CPPDEFS} 7 | CFLAGS := -c -O2 -fp-model precise -xHost 8 | 9 | FIXEDFLAGS := -132 10 | FREEFLAGS := -FR 11 | FFLAGS := -fp-model precise -convert big_endian -assume byterecl -ftz -traceback -xHost 12 | FFLAGS_NOOPT:= -O0 13 | 14 | ifeq ($(ICE_BLDDEBUG), true) 15 | FFLAGS += -O0 -g -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created 16 | else 17 | FFLAGS += -O2 18 | endif 19 | 20 | SCC := icc 21 | SFC := ifort 22 | MPICC := mpiicc 23 | MPIFC := mpiifort 24 | ifeq ($(ICE_COMMDIR), mpi) 25 | FC := $(MPIFC) 26 | CC := $(MPICC) 27 | else 28 | FC := $(SFC) 29 | CC := $(SCC) 30 | endif 31 | LD := $(FC) 32 | 33 | INC_NETCDF := $(NETCDF_PATH)/include 34 | LIB_NETCDF := $(NETCDF_PATH)/lib 35 | 36 | INCLDIR := $(INCLDIR) -I$(INC_NETCDF) 37 | SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff 38 | 39 | ifeq ($(ICE_THREADED), true) 40 | LDFLAGS += -qopenmp 41 | CFLAGS += -qopenmp 42 | FFLAGS += -qopenmp 43 | endif 44 | 45 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.discover_intel: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for NASA NCCS discover, intel compiler 3 | #============================================================================== 4 | 5 | CPP := fpp 6 | CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS} 7 | CFLAGS := -c -O2 -fp-model precise -xHost 8 | 9 | FIXEDFLAGS := -132 10 | FREEFLAGS := -FR 11 | FFLAGS := -fp-model precise -convert big_endian -assume byterecl -ftz -traceback -xHost 12 | FFLAGS_NOOPT:= -O0 13 | 14 | ifeq ($(ICE_BLDDEBUG), true) 15 | FFLAGS += -O0 -g -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created 16 | else 17 | FFLAGS += -O2 18 | endif 19 | 20 | SCC := mpiicc 21 | SFC := mpiifort 22 | CC := $(SCC) 23 | FC := $(SFC) 24 | LD := $(FC) 25 | 26 | NETCDF_INCLUDES := $(shell $$BASEDIR/Linux/bin/nf-config --cflags) 27 | NETCDF_LIBS := $(shell $$BASEDIR/Linux/bin/nf-config --flibs) 28 | 29 | INCLDIR := $(INCLDIR) 30 | INCLDIR += $(NETCDF_INCLUDES) 31 | 32 | LIB_NETCDF := $(NETCDF_LIBS) 33 | #LIB_MPI := $(IMPILIBDIR) 34 | 35 | SLIBS := $(LIB_NETCDF) 36 | 37 | ifeq ($(ICE_THREADED), true) 38 | LDFLAGS += -qopenmp 39 | CFLAGS += -qopenmp 40 | FFLAGS += -qopenmp 41 | endif 42 | 43 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.gaeac5_intel: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source $MODULESHOME/init/csh 11 | module load PrgEnv-intel/8.6.0 12 | module load intel/2025.0 13 | module load cray-mpich/8.1.32 14 | module load cray-hdf5/1.14.3.1 15 | module load cray-netcdf/4.9.0.13 16 | setenv NETCDF $NETCDF_DIR 17 | #echo zzz final module list 18 | #module list 19 | 20 | # May be needed for OpenMP memory 21 | setenv OMP_STACKSIZE 64M 22 | 23 | endif 24 | 25 | #env | grep NETCDF 26 | 27 | setenv ICE_MACHINE_MACHNAME gaea 28 | setenv ICE_MACHINE_MACHINFO "HPE-EX Cray X3000, AMD EPYC 7H12 2.6 GHz, HPE Slingshot interconnect" 29 | setenv ICE_MACHINE_ENVNAME intel 30 | setenv ICE_MACHINE_ENVINFO "ifort 2025.0, cray-mpich 8.1.32, cray-netcdf 4.9.0.13" 31 | setenv ICE_MACHINE_MAKE gmake 32 | setenv ICE_MACHINE_WKDIR $HOME/scratch/CICE_RUNS 33 | setenv ICE_MACHINE_INPUTDATA /ncrc/home1/Anthony.Craig/scratch 34 | setenv ICE_MACHINE_BASELINE $HOME/scratch/CICE_BASELINE 35 | setenv ICE_MACHINE_SUBMIT "sbatch" 36 | setenv ICE_MACHINE_TPNODE 128 37 | setenv ICE_MACHINE_ACCT P0000000 38 | setenv ICE_MACHINE_QUEUE "normal" 39 | setenv ICE_MACHINE_BLDTHRDS 1 40 | setenv ICE_MACHINE_QSTAT "squeue --jobs=" 41 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.daley_intel: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source /opt/modules/default/init/csh # Initialize modules for csh 11 | module load PrgEnv-intel # Intel compiler 12 | module load cray-mpich # MPI (Cray MPICH) 13 | module load cray-netcdf # NetCDF 14 | module load cray-hdf5 # HDF5 15 | setenv HDF5_USE_FILE_LOCKING FALSE # necessary since data is on an NFS filesystem 16 | 17 | # May be needed for OpenMP memory 18 | #setenv OMP_STACKSIZE 64M 19 | 20 | endif 21 | 22 | setenv ICE_MACHINE_MACHNAME daley 23 | setenv ICE_MACHINE_MACHINFO "Cray XC50, Intel Xeon Gold 6148 (Skylake)" 24 | setenv ICE_MACHINE_ENVNAME intel 25 | setenv ICE_MACHINE_ENVINFO "Intel 19.0.3.199, cray-mpich/7.7.6, cray-netcdf/4.6.1.3" 26 | setenv ICE_MACHINE_MAKE make 27 | setenv ICE_MACHINE_WKDIR ~/data/daley/cice/runs 28 | setenv ICE_MACHINE_INPUTDATA /home/ords/cmdd/cmde/sice500/ 29 | setenv ICE_MACHINE_BASELINE ~/data/daley/cice/baselines 30 | setenv ICE_MACHINE_SUBMIT "qsub" 31 | setenv ICE_MACHINE_TPNODE 40 32 | setenv ICE_MACHINE_MAXRUNLENGTH 3 33 | setenv ICE_MACHINE_ACCT P0000000 34 | setenv ICE_MACHINE_QUEUE "development" 35 | setenv ICE_MACHINE_BLDTHRDS 18 36 | setenv ICE_MACHINE_QSTAT "qstat " 37 | -------------------------------------------------------------------------------- /configuration/scripts/tests/lcov_modify_source.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | filelist=`find cicecore icepack -type f -name "*.F90"` 4 | LCOV_EXCL=" ! LCOV_EXCL_LINE" 5 | 6 | #echo $filelist 7 | 8 | for file in $filelist; do 9 | 10 | echo $file 11 | ofile=${file}.orig 12 | nfile=${file} 13 | 14 | mv ${file} ${file}.orig 15 | 16 | # line by line making sure each line has a trailing newline (-n) 17 | # preserve whitespace (IFS) 18 | # and include backslashes (-r) 19 | IFS='' 20 | contblock=0 21 | cat $ofile | while read -r line || [[ -n $line ]]; do 22 | 23 | if [[ $contblock == 1 ]]; then 24 | # in a continuation block 25 | if [[ $line =~ ^.*"&".*$ ]]; then 26 | # found another continuation line, add exclude string and write out line 27 | echo ${line} ${LCOV_EXCL} >> ${nfile} 28 | else 29 | # continuation block ends, write out line 30 | contblock=0 31 | echo ${line} >> ${nfile} 32 | fi 33 | else 34 | # not in a continuation block, write out line 35 | echo ${line} >> ${nfile} 36 | if [[ $line =~ ^\s*.*"&".*$ && ! $line =~ ^\s*( if ).*$ ]]; then 37 | # new continuation block found 38 | contblock=1 39 | fi 40 | fi 41 | 42 | done 43 | 44 | done 45 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.izumi_intel: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for NCAR izumi, intel compiler 3 | #============================================================================== 4 | 5 | CPP := /usr/bin/cpp 6 | CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS} 7 | CFLAGS := -c -O2 -qno-opt-dynamic-align -fp-model precise 8 | 9 | FIXEDFLAGS := -fixed -132 10 | FREEFLAGS := -free 11 | FFLAGS := -qno-opt-dynamic-align -convert big_endian -assume byterecl -ftz -traceback -assume realloc_lhs -fp-model source 12 | FFLAGS_NOOPT:= -O0 13 | 14 | ifeq ($(ICE_BLDDEBUG), true) 15 | FFLAGS += -O0 -g -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created 16 | else 17 | FFLAGS += -O2 18 | endif 19 | 20 | SCC := icc 21 | SFC := ifort 22 | MPICC := mpicc 23 | MPIFC := mpif90 24 | 25 | ifeq ($(ICE_COMMDIR), mpi) 26 | FC := $(MPIFC) 27 | CC := $(MPICC) 28 | else 29 | FC := $(SFC) 30 | CC := $(SCC) 31 | endif 32 | LD:= $(FC) 33 | 34 | INCLDIR := -I$(NETCDF_PATH)/include 35 | 36 | LIB_NETCDF := $(NETCDF_PATH)/lib 37 | 38 | SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff -mkl 39 | 40 | ifeq ($(ICE_THREADED), true) 41 | LDFLAGS += -qopenmp 42 | CFLAGS += -qopenmp 43 | FFLAGS += -qopenmp 44 | endif 45 | 46 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.gpsc3_intel: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | # SSM package loader 11 | source /fs/ssm/main/opt/ssmuse/ssmuse-1.11/ssmuse_1.11_all/bin/ssmuse-boot.csh >& /dev/null 12 | set ssmuse=`which ssmuse-csh` 13 | # Intel compiler 14 | source $ssmuse -d /fs/ssm/main/intelcomp/intelpsxe-cluster-19.0.3.199 15 | setenv FOR_DUMP_CORE_FILE 1 16 | # OpenMPI 17 | source $ssmuse -d /fs/ssm/hpco/exp/openmpi/openmpi-3.1.2--hpcx-2.4.0-mofed-4.6--csh--intel-19.0.3.199 18 | source $ssmuse -d /fs/ssm/main/opt/openmpi-setup/openmpi-setup-0.3 19 | # NetCDF 20 | source $ssmuse -d /fs/ssm/hpco/exp/hdf5-netcdf4/serial/static/intel-19.0.3.199/02 21 | 22 | endif 23 | 24 | setenv ICE_MACHINE_MACHNAME gpsc3 25 | setenv ICE_MACHINE_ENVNAME intel 26 | setenv ICE_MACHINE_MAKE make 27 | setenv ICE_MACHINE_WKDIR ~/data/site3/cice/runs/ 28 | setenv ICE_MACHINE_INPUTDATA /home/ords/cmdd/cmde/sice500/ 29 | setenv ICE_MACHINE_BASELINE ~/data/site3/cice/baselines/ 30 | setenv ICE_MACHINE_SUBMIT "sbatch" 31 | setenv ICE_MACHINE_TPNODE 44 32 | setenv ICE_MACHINE_ACCT "eccc_cmdd" 33 | setenv ICE_MACHINE_QUEUE "standard" 34 | setenv ICE_MACHINE_BLDTHRDS 24 35 | setenv ICE_MACHINE_QSTAT "squeue" 36 | 37 | setenv SLURM_EXPORT_ENV "ALL" 38 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.banting_intel: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source /opt/modules/default/init/csh # Initialize modules for csh 11 | module load PrgEnv-intel # Intel compiler 12 | module load cray-mpich # MPI (Cray MPICH) 13 | module load cray-netcdf # NetCDF 14 | module load cray-hdf5 # HDF5 15 | setenv HDF5_USE_FILE_LOCKING FALSE # necessary since data is on an NFS filesystem 16 | 17 | # May be needed for OpenMP memory 18 | #setenv OMP_STACKSIZE 64M 19 | 20 | endif 21 | 22 | setenv ICE_MACHINE_MACHNAME banting 23 | setenv ICE_MACHINE_MACHINFO "Cray XC50, Intel Xeon Gold 6148 (Skylake), Aries Interconnect" 24 | setenv ICE_MACHINE_ENVNAME intel 25 | setenv ICE_MACHINE_ENVINFO "Intel 19.0.3.199, cray-mpich/7.7.7, cray-netcdf/4.6.1.3" 26 | setenv ICE_MACHINE_MAKE make 27 | setenv ICE_MACHINE_WKDIR ~/data/banting/cice/runs 28 | setenv ICE_MACHINE_INPUTDATA /home/ords/cmdd/cmde/sice500/ 29 | setenv ICE_MACHINE_BASELINE ~/data/banting/cice/baselines 30 | setenv ICE_MACHINE_SUBMIT "qsub" 31 | setenv ICE_MACHINE_TPNODE 40 32 | setenv ICE_MACHINE_MAXRUNLENGTH 3 33 | setenv ICE_MACHINE_ACCT P0000000 34 | setenv ICE_MACHINE_QUEUE "development" 35 | setenv ICE_MACHINE_BLDTHRDS 18 36 | setenv ICE_MACHINE_QSTAT "qstat " 37 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.ursa_intel: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source /etc/profile.d/modules.csh 11 | #module list 12 | module purge 13 | module load intel-oneapi-compilers/2025.1.1 14 | module load intel-oneapi-mpi/2021.15.0 15 | #module load intel-oneapi-mpi/2021.13.1 16 | #module load hpcx-mpi/2.18.1 17 | module load netcdf-c/4.9.2 18 | module load netcdf-fortran/4.6.1 19 | #module list 20 | 21 | endif 22 | 23 | # May be needed for OpenMP memory 24 | setenv OMP_STACKSIZE 64M 25 | 26 | setenv ICE_MACHINE_MACHNAME ursa 27 | setenv ICE_MACHINE_MACHINFO "AMD Genoa 9654, NDR-200-IB interconnect" 28 | setenv ICE_MACHINE_ENVNAME intel 29 | setenv ICE_MACHINE_ENVINFO "icx/ifx 2025.1.1.20250418, intel-oneapi-mpi-2021.15.0, netcdf-c 4.9.2, netcdf-fortran 4.6.1" 30 | setenv ICE_MACHINE_MAKE gmake 31 | setenv ICE_MACHINE_WKDIR $HOME/scratch/CICE_RUNS 32 | setenv ICE_MACHINE_INPUTDATA /home/Anthony.Craig/scratch/CICE_INPUTDATA 33 | setenv ICE_MACHINE_BASELINE $HOME/scratch/CICE_BASELINE 34 | setenv ICE_MACHINE_SUBMIT "sbatch" 35 | setenv ICE_MACHINE_TPNODE 192 36 | setenv ICE_MACHINE_ACCT marine-cpu 37 | setenv ICE_MACHINE_QUEUE "batch" 38 | setenv ICE_MACHINE_BLDTHRDS 1 39 | setenv ICE_MACHINE_QSTAT "squeue --jobs=" 40 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.freya_gnu: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for DMI freya 3 | #============================================================================== 4 | # For use with GNU compiler 5 | #============================================================================== 6 | 7 | #INCLDIR := -I. -I/usr/include 8 | #SLIBS := 9 | 10 | #--- Compiler/preprocessor --- 11 | FC := ftn 12 | CC := cc 13 | CXX := CC 14 | CPP := /usr/bin/cpp 15 | CPPFLAGS := -P -traditional # ALLOW fortran double backslash "\\" 16 | SCC := gcc 17 | SFC := ftn 18 | 19 | CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS} 20 | CFLAGS := -c -O2 21 | #-xHost 22 | 23 | FREEFLAGS := -ffree-form 24 | FFLAGS := -fconvert=big-endian -fbacktrace -ffree-line-length-none 25 | #-xHost 26 | 27 | ifeq ($(ICE_BLDDEBUG), true) 28 | FFLAGS += -O0 -g -fcheck=bounds -finit-real=nan -fimplicit-none -ffpe-trap=invalid,zero,overflow 29 | else 30 | FFLAGS += -O2 #FROM BANTING 31 | #FFLAGS := -O2 -ffloat-store -march=native -ffree-line-length-non # DMI BUILD 32 | endif 33 | LD:= $(FC) 34 | LDFLAGS := $(FFLAGS) -v 35 | 36 | ifeq ($(ICE_THREADED), true) 37 | LDFLAGS += -fopenmp 38 | CFLAGS += -fopenmp 39 | FFLAGS += -fopenmp 40 | endif 41 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.gaffney_gnu: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source ${MODULESHOME}/init/csh 11 | 12 | module unload compiler 13 | module unload mpt 14 | 15 | module load costinit 16 | module load git 17 | module load gcc/7.3.0 18 | module load mpt/2.18 19 | module load netcdf-fortran/gnu/4.4.2 20 | 21 | setenv NETCDF_PATH /app/COST/netcdf-fortran/4.4.2/gnu 22 | 23 | setenv MPI_DSM_DISTRIBUTE 0 24 | setenv KMP_AFFINITY disabled 25 | limit coredumpsize unlimited 26 | limit stacksize unlimited 27 | setenv OMP_STACKSIZE 64M 28 | 29 | endif 30 | 31 | setenv ICE_MACHINE_MACHNAME gaffney 32 | setenv ICE_MACHINE_MACHINFO "HPE SGI 8600 Xeon Platinum 8168" 33 | setenv ICE_MACHINE_ENVNAME gnu 34 | setenv ICE_MACHINE_ENVINFO "GNU Fortran (GCC) 7.3.0, mpt2.18, netcdf4.4.2" 35 | setenv ICE_MACHINE_MAKE gmake 36 | setenv ICE_MACHINE_WKDIR $WORKDIR/CICE_RUNS 37 | setenv ICE_MACHINE_INPUTDATA /p/home/apcraig/cice-consortium-data/cice_consortium 38 | setenv ICE_MACHINE_BASELINE $WORKDIR/CICE_BASELINE 39 | setenv ICE_MACHINE_SUBMIT "qsub " 40 | setenv ICE_MACHINE_ACCT P00000000 41 | setenv ICE_MACHINE_QUEUE "debug" 42 | setenv ICE_MACHINE_TPNODE 48 # tasks per node 43 | setenv ICE_MACHINE_BLDTHRDS 4 44 | setenv ICE_MACHINE_QSTAT "qstat " 45 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.orion_intel: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source /etc/profile.d/z030-HPC2-lmod.csh 11 | ##module list 12 | module purge 13 | module load intel/2020.2 14 | module load impi/2020.2 15 | module load netcdf/4.7.4 16 | ##module list 17 | 18 | endif 19 | 20 | limit coredumpsize unlimited 21 | limit stacksize unlimited 22 | 23 | # May be needed for OpenMP memory 24 | setenv OMP_STACKSIZE 64M 25 | #setenv OMP_PROC_BIND true 26 | #setenv OMP_PLACES threads 27 | #setenv OMP_DISPLAY_ENV TRUE 28 | 29 | setenv ICE_MACHINE_MACHNAME orion 30 | setenv ICE_MACHINE_MACHINFO "Dell EMC PowerEdge C6420 Xeon Gold 6148" 31 | setenv ICE_MACHINE_ENVNAME intel 32 | setenv ICE_MACHINE_ENVINFO "ifort 19.1.2.254 20200623, intelmpi 2019 Update 8 Build 20200624 (id: 4f16ad915), netcdf/4.7.4" 33 | setenv ICE_MACHINE_MAKE gmake 34 | setenv ICE_MACHINE_WKDIR $HOME/scratch/CICE_RUNS 35 | setenv ICE_MACHINE_INPUTDATA /home/acraig/scratch/CICE_INPUTDATA 36 | setenv ICE_MACHINE_BASELINE $HOME/scratch/CICE_BASELINE 37 | setenv ICE_MACHINE_SUBMIT "sbatch" 38 | setenv ICE_MACHINE_TPNODE 20 39 | setenv ICE_MACHINE_ACCT P0000000 40 | setenv ICE_MACHINE_QUEUE "batch" 41 | setenv ICE_MACHINE_BLDTHRDS 1 42 | setenv ICE_MACHINE_QSTAT "squeue --jobs=" 43 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.gaffney_intel: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source ${MODULESHOME}/init/csh 11 | 12 | module unload compiler 13 | module unload mpt 14 | 15 | module load costinit 16 | module load git 17 | module load compiler/intel/18.0.1.163 18 | module load mpt/2.18 19 | module load netcdf-fortran/intel/4.4.2 20 | 21 | setenv NETCDF_PATH /app/COST/netcdf-fortran/4.4.2/intel 22 | 23 | setenv MPI_DSM_DISTRIBUTE 0 24 | setenv KMP_AFFINITY disabled 25 | limit coredumpsize unlimited 26 | limit stacksize unlimited 27 | setenv OMP_STACKSIZE 64M 28 | 29 | endif 30 | 31 | setenv ICE_MACHINE_MACHNAME gaffney 32 | setenv ICE_MACHINE_MACHINFO "HPE SGI 8600 Xeon Platinum 8168" 33 | setenv ICE_MACHINE_ENVNAME intel 34 | setenv ICE_MACHINE_ENVINFO "ifort 18.0.1 20171018, mpt2.18, netcdf4.4.2" 35 | setenv ICE_MACHINE_MAKE gmake 36 | setenv ICE_MACHINE_WKDIR $WORKDIR/CICE_RUNS 37 | setenv ICE_MACHINE_INPUTDATA /p/home/apcraig/cice-consortium-data/cice_consortium 38 | setenv ICE_MACHINE_BASELINE $WORKDIR/CICE_BASELINE 39 | setenv ICE_MACHINE_SUBMIT "qsub " 40 | setenv ICE_MACHINE_ACCT P00000000 41 | setenv ICE_MACHINE_QUEUE "debug" 42 | setenv ICE_MACHINE_TPNODE 48 # tasks per node 43 | setenv ICE_MACHINE_BLDTHRDS 4 44 | setenv ICE_MACHINE_QSTAT "qstat " 45 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.box2001: -------------------------------------------------------------------------------- 1 | grid_atm = 'B' 2 | grid_ocn = 'B' 3 | days_per_year = 360 4 | use_leap_years = .false. 5 | npt_unit = '1' 6 | npt = 240 7 | ice_ic = 'internal' 8 | restart_ext = .true. 9 | histfreq = 'd','x','x','x','x' 10 | grid_type = 'rectangular' 11 | kmt_type = 'default' 12 | dxrect = 16.e5 13 | dyrect = 16.e5 14 | ew_boundary_type = 'closed' 15 | ns_boundary_type = 'closed' 16 | tr_iage = .false. 17 | tr_FY = .false. 18 | tr_lvl = .false. 19 | tr_pond_lvl = .false. 20 | ktherm = -1 21 | kstrength = 0 22 | kdyn = 1 23 | kridge = -1 24 | ktransport = -1 25 | coriolis = 'constant' 26 | atmbndy = 'constant' 27 | atm_data_type = 'box2001' 28 | ocn_data_type = 'box2001' 29 | ice_data_type = 'box2001' 30 | ice_data_conc = 'box2001' 31 | ice_data_dist = 'box2001' 32 | calc_strair = .false. 33 | restore_ice = .true. 34 | f_aice = 'd' 35 | f_hi = 'd' 36 | f_hs = 'd' 37 | f_Tsfc = 'd' 38 | f_uvel = 'd' 39 | f_vvel = 'd' 40 | f_uatm = 'd' 41 | f_vatm = 'd' 42 | f_uocn = 'd' 43 | f_vocn = 'd' 44 | f_strairx = 'd' 45 | f_strairy = 'd' 46 | f_strocnx = 'd' 47 | f_strocny = 'd' 48 | f_divu = 'd' 49 | f_sig1 = 'd' 50 | f_sig2 = 'd' 51 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.fram_intel: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | source /fs/ssm/main/opt/ssmuse/ssmuse-1.7/ssmuse_1.7_all/bin/ssmuse-boot.csh >& /dev/null # package loader 4 | set ssmuse=`which ssmuse-csh` 5 | source $ssmuse -d /fs/ssm/main/opt/intelcomp/intelcomp-2016.1.156 # intel compiler 6 | source /fs/ssm/main/opt/intelcomp/intelcomp-2016.1.156/intelcomp_2016.1.156_multi/bin/compilervars.csh intel64 # should be sourced by above domain, but bug in csh script 7 | source $ssmuse -d /fs/ssm/main/opt/openmpi/openmpi-1.6.5/intelcomp-2016.1.156 # openmpi 8 | source $ssmuse -d /fs/ssm/hpco/tmp/eccc/201402/04/intel-2016.1.150 # netcdf (and openmpi) 9 | 10 | # May be needed for OpenMP memory 11 | #setenv OMP_STACKSIZE 64M 12 | 13 | setenv ICE_MACHINE_MACHNAME fram 14 | setenv ICE_MACHINE_MACHINFO "fram" 15 | setenv ICE_MACHINE_ENVNAME intel 16 | setenv ICE_MACHINE_ENVINFO "intel 2016.1.156, openmpi 1.6.5, netcdf" 17 | setenv ICE_MACHINE_MAKE make 18 | setenv ICE_MACHINE_WKDIR /home/dormrb01/zephyr4/armn/jfl/local1/CICEDIRS/CICE_RUNS 19 | setenv ICE_MACHINE_INPUTDATA /users/dor/armn/jfl/local1/FORCING 20 | setenv ICE_MACHINE_BASELINE /home/dormrb01/zephyr4/armn/jfl/local1/CICEDIRS/CICE_BASELINE 21 | setenv ICE_MACHINE_SUBMIT "qsub" 22 | setenv ICE_MACHINE_QUEUE "default" 23 | setenv ICE_MACHINE_TPNODE 36 24 | setenv ICE_MACHINE_ACCT P0000000 25 | setenv ICE_MACHINE_BLDTHRDS 1 26 | setenv ICE_MACHINE_QSTAT "qstat " 27 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.gpsc3_intel: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for "gpsc3" 3 | #============================================================================== 4 | # For use with intel compiler 5 | #============================================================================== 6 | 7 | CPP := fpp 8 | CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS} 9 | CFLAGS := -c -O2 -fp-model precise 10 | #-xHost 11 | 12 | FIXEDFLAGS := -132 13 | FREEFLAGS := -FR 14 | FFLAGS := -fp-model source -convert big_endian -assume byterecl -ftz -traceback -diag-disable 5140 -no-wrap-margin 15 | #-xHost 16 | 17 | ifeq ($(ICE_BLDDEBUG), true) 18 | FFLAGS += -O0 -g -check -fpe0 -ftrapuv -fp-model except -check noarg_temp_created 19 | #-init=snan,arrays 20 | # -heap-arrays 1024 21 | else 22 | FFLAGS += -O2 23 | endif 24 | 25 | SCC := icc 26 | SFC := ifort 27 | MPICC := mpicc 28 | MPIFC := mpif90 29 | 30 | ifeq ($(ICE_COMMDIR), mpi) 31 | FC := $(MPIFC) 32 | CC := $(MPICC) 33 | else 34 | FC := $(SFC) 35 | CC := $(SCC) 36 | endif 37 | LD:= $(FC) 38 | 39 | ifeq ($(ICE_IOTYPE), netcdf) 40 | INCLDIR += $(shell nf-config --fflags) 41 | SLIBS := $(shell nf-config --flibs) 42 | endif 43 | 44 | ifeq ($(ICE_THREADED), true) 45 | LDFLAGS += -qopenmp 46 | CFLAGS += -qopenmp 47 | FFLAGS += -qopenmp 48 | endif 49 | 50 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.ppp3_intel: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for "ppp3" 3 | #============================================================================== 4 | # For use with intel compiler 5 | #============================================================================== 6 | 7 | CPP := fpp 8 | CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS} 9 | CFLAGS := -c -O2 -fp-model precise 10 | #-xHost 11 | 12 | FIXEDFLAGS := -132 13 | FREEFLAGS := -FR 14 | FFLAGS := -fp-model source -convert big_endian -assume byterecl -ftz -traceback -diag-disable 5140 -no-wrap-margin 15 | #-xHost 16 | 17 | ifeq ($(ICE_BLDDEBUG), true) 18 | FFLAGS += -O0 -g -check -fpe0 -ftrapuv -fp-model except -check noarg_temp_created 19 | #-init=snan,arrays 20 | # -heap-arrays 1024 21 | else 22 | FFLAGS += -O2 23 | endif 24 | 25 | SCC := icc 26 | SFC := ifort 27 | MPICC := mpicc 28 | MPIFC := mpif90 29 | 30 | ifeq ($(ICE_COMMDIR), mpi) 31 | FC := $(MPIFC) 32 | CC := $(MPICC) 33 | else 34 | FC := $(SFC) 35 | CC := $(SCC) 36 | endif 37 | LD:= $(FC) 38 | 39 | ifeq ($(ICE_IOTYPE), netcdf) 40 | INCLDIR += $(shell nf-config --fflags) 41 | SLIBS := $(shell nf-config --flibs) 42 | endif 43 | 44 | ifeq ($(ICE_THREADED), true) 45 | LDFLAGS += -qopenmp 46 | CFLAGS += -qopenmp 47 | FFLAGS += -qopenmp 48 | endif 49 | 50 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.koehr_intel: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source ${MODULESHOME}/init/csh 11 | 12 | module unload compiler 13 | module unload mpt 14 | 15 | module load costinit 16 | module load git 17 | module load compiler/intel/18.0.1.163 18 | module load mpt/2.18 19 | module load netcdf-fortran/intel/4.4.2 20 | 21 | setenv NETCDF_PATH /app/COST/netcdf-fortran/4.4.2/intel 22 | 23 | setenv MPI_DSM_DISTRIBUTE 0 24 | setenv KMP_AFFINITY disabled 25 | limit coredumpsize unlimited 26 | limit stacksize unlimited 27 | 28 | # May be needed for OpenMP memory 29 | setenv OMP_STACKSIZE 64M 30 | 31 | endif 32 | 33 | setenv ICE_MACHINE_MACHNAME koehr 34 | setenv ICE_MACHINE_MACHINFO "HPE SGI 8600 Xeon Platinum 8168" 35 | setenv ICE_MACHINE_ENVNAME intel 36 | setenv ICE_MACHINE_ENVINFO "ifort 18.0.1 20171018, mpt2.18, netcdf4.4.2" 37 | setenv ICE_MACHINE_MAKE gmake 38 | setenv ICE_MACHINE_WKDIR $WORKDIR/CICE_RUNS 39 | setenv ICE_MACHINE_INPUTDATA /p/home/apcraig/cice-consortium-data/cice_consortium 40 | setenv ICE_MACHINE_BASELINE $WORKDIR/CICE_BASELINE 41 | setenv ICE_MACHINE_SUBMIT "qsub " 42 | setenv ICE_MACHINE_ACCT P00000000 43 | setenv ICE_MACHINE_QUEUE "debug" 44 | setenv ICE_MACHINE_TPNODE 48 # tasks per node 45 | setenv ICE_MACHINE_BLDTHRDS 4 46 | setenv ICE_MACHINE_QSTAT "qstat " 47 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.mustang_intel18: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source ${MODULESHOME}/init/csh 11 | 12 | module unload compiler 13 | module unload mpt 14 | module unload netcdf-fortran 15 | 16 | module load costinit 17 | module load git 18 | module load compiler/intel/2018.3.222 19 | module load mpt/2.18 20 | module load netcdf-fortran/intel/4.4.2 21 | 22 | setenv NETCDF_PATH /app/COST/netcdf-fortran/4.4.2/intel 23 | 24 | setenv OMP_STACKSIZE 64M 25 | #setenv MP_LABELIO yes 26 | #setenv MP_INFOLEVEL 2 27 | #setenv MP_SHARED_MEMORY yes 28 | #setenv MP_EUILIB us 29 | #setenv MP_EAGER_LIMIT 0 30 | 31 | endif 32 | 33 | setenv ICE_MACHINE_MACHNAME mustang 34 | setenv ICE_MACHINE_MACHINFO "HPE SGI 8600 Xeon Platinum 8168" 35 | setenv ICE_MACHINE_ENVNAME intel18 36 | setenv ICE_MACHINE_ENVINFO "ifort 18.0.3 20180410, mpt2.18, netcdf4.4.2" 37 | setenv ICE_MACHINE_MAKE gmake 38 | setenv ICE_MACHINE_WKDIR $WORKDIR/CICE_RUNS 39 | setenv ICE_MACHINE_INPUTDATA /p/work1/projects/RASM/cice-consortium 40 | setenv ICE_MACHINE_BASELINE $WORKDIR/CICE_BASELINE 41 | setenv ICE_MACHINE_SUBMIT "qsub " 42 | setenv ICE_MACHINE_ACCT P00000000 43 | setenv ICE_MACHINE_QUEUE "debug" 44 | setenv ICE_MACHINE_TPNODE 48 # tasks per node 45 | setenv ICE_MACHINE_BLDTHRDS 4 46 | setenv ICE_MACHINE_QSTAT "qstat " 47 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.mustang_intel19: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source ${MODULESHOME}/init/csh 11 | 12 | module unload compiler 13 | module unload mpt 14 | module unload netcdf-fortran 15 | 16 | module load costinit 17 | module load git 18 | module load compiler/intel/2019.3.199 19 | module load mpt/2.20 20 | module load netcdf-fortran/intel/4.4.2 21 | 22 | setenv NETCDF_PATH /app/COST/netcdf-fortran/4.4.2/intel 23 | 24 | setenv OMP_STACKSIZE 64M 25 | #setenv MP_LABELIO yes 26 | #setenv MP_INFOLEVEL 2 27 | #setenv MP_SHARED_MEMORY yes 28 | #setenv MP_EUILIB us 29 | #setenv MP_EAGER_LIMIT 0 30 | 31 | endif 32 | 33 | setenv ICE_MACHINE_MACHNAME mustang 34 | setenv ICE_MACHINE_MACHINFO "HPE SGI 8600 Xeon Platinum 8168" 35 | setenv ICE_MACHINE_ENVNAME intel19 36 | setenv ICE_MACHINE_ENVINFO "ifort 19.0.3.199 20190206, mpt2.20, netcdf4.4.2" 37 | setenv ICE_MACHINE_MAKE gmake 38 | setenv ICE_MACHINE_WKDIR $WORKDIR/CICE_RUNS 39 | setenv ICE_MACHINE_INPUTDATA /p/work1/projects/RASM/cice-consortium 40 | setenv ICE_MACHINE_BASELINE $WORKDIR/CICE_BASELINE 41 | setenv ICE_MACHINE_SUBMIT "qsub " 42 | setenv ICE_MACHINE_ACCT P00000000 43 | setenv ICE_MACHINE_QUEUE "debug" 44 | setenv ICE_MACHINE_TPNODE 48 # tasks per node 45 | setenv ICE_MACHINE_BLDTHRDS 4 46 | setenv ICE_MACHINE_QSTAT "qstat " 47 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.mustang_intel20: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source ${MODULESHOME}/init/csh 11 | 12 | module unload compiler 13 | module unload mpt 14 | module unload netcdf-fortran 15 | 16 | module load costinit 17 | module load git 18 | module load compiler/intel/2020.0.1 19 | module load mpt/2.20 20 | module load netcdf-fortran/intel/4.4.2 21 | 22 | setenv NETCDF_PATH /app/COST/netcdf-fortran/4.4.2/intel 23 | 24 | setenv OMP_STACKSIZE 64M 25 | #setenv MP_LABELIO yes 26 | #setenv MP_INFOLEVEL 2 27 | #setenv MP_SHARED_MEMORY yes 28 | #setenv MP_EUILIB us 29 | #setenv MP_EAGER_LIMIT 0 30 | 31 | endif 32 | 33 | setenv ICE_MACHINE_MACHNAME mustang 34 | setenv ICE_MACHINE_MACHINFO "HPE SGI 8600 Xeon Platinum 8168" 35 | setenv ICE_MACHINE_ENVNAME intel20 36 | setenv ICE_MACHINE_ENVINFO "ifort 19.1.1.217 20200306, mpt2.20, netcdf4.4.2" 37 | setenv ICE_MACHINE_MAKE gmake 38 | setenv ICE_MACHINE_WKDIR $WORKDIR/CICE_RUNS 39 | setenv ICE_MACHINE_INPUTDATA /p/work1/projects/RASM/cice-consortium 40 | setenv ICE_MACHINE_BASELINE $WORKDIR/CICE_BASELINE 41 | setenv ICE_MACHINE_SUBMIT "qsub " 42 | setenv ICE_MACHINE_ACCT P00000000 43 | setenv ICE_MACHINE_QUEUE "debug" 44 | setenv ICE_MACHINE_TPNODE 48 # tasks per node 45 | setenv ICE_MACHINE_BLDTHRDS 4 46 | setenv ICE_MACHINE_QSTAT "qstat " 47 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.bgcz: -------------------------------------------------------------------------------- 1 | nblyr = 7 2 | n_aero = 0 3 | n_zaero = 3 4 | n_algae = 3 5 | n_doc = 2 6 | n_dic = 1 7 | n_don = 1 8 | n_fed = 1 9 | n_fep = 1 10 | ice_ic = 'none' 11 | tr_brine = .true. 12 | tr_aero = .false. 13 | tr_zaero = .true. 14 | z_tracers = .true. 15 | solve_zbgc = .true. 16 | scale_bgc = .true. 17 | tr_bgc_Nit = .true. 18 | tr_bgc_C = .true. 19 | tr_bgc_Am = .true. 20 | tr_bgc_Sil = .true. 21 | tr_bgc_DMS = .true. 22 | tr_bgc_PON = .true. 23 | tr_bgc_hum = .true. 24 | tr_bgc_DON = .true. 25 | tr_bgc_Fe = .true. 26 | # modal_aero = .true. 27 | # dEdd_algae = .true. 28 | tfrz_option = 'mushy' 29 | # 30 | nslyr = 5 31 | tr_snow = .true. 32 | snwgrain = .true. 33 | use_smliq_pnd = .true. 34 | rsnw_fall = 54.526 35 | rsnw_tmax = 1500.0 36 | snw_aging_table = 'file' 37 | snw_filename = 'ICE_MACHINE_INPUTDATA/CICE_data/forcing/snicar_drdt_bst_fit_60_c04262019.nc' 38 | snw_tau_fname = 'snowEmpiricalGrowthParameterTau' 39 | snw_kappa_fname = 'snowEmpiricalGrowthParameterKappa' 40 | snw_drdt0_fname = 'snowPropertyRate' 41 | snw_rhos_fname = 'nGrainAgingSnowDensity' 42 | snw_Tgrd_fname = 'nGrainAgingTempGradient' 43 | snw_T_fname = 'nGrainAgingTemperature' 44 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.bgczm: -------------------------------------------------------------------------------- 1 | nblyr = 7 2 | n_aero = 0 3 | n_zaero = 3 4 | n_algae = 3 5 | n_doc = 2 6 | n_dic = 1 7 | n_don = 1 8 | n_fed = 1 9 | n_fep = 1 10 | ice_ic = 'none' 11 | tr_brine = .true. 12 | tr_aero = .false. 13 | tr_zaero = .true. 14 | z_tracers = .true. 15 | solve_zbgc = .true. 16 | scale_bgc = .true. 17 | tr_bgc_Nit = .true. 18 | tr_bgc_C = .true. 19 | tr_bgc_Am = .true. 20 | tr_bgc_Sil = .true. 21 | tr_bgc_DMS = .true. 22 | tr_bgc_PON = .true. 23 | tr_bgc_hum = .true. 24 | tr_bgc_DON = .true. 25 | tr_bgc_Fe = .true. 26 | modal_aero = .true. 27 | # dEdd_algae = .true. 28 | tfrz_option = 'mushy' 29 | # 30 | nslyr = 5 31 | tr_snow = .true. 32 | snwgrain = .true. 33 | use_smliq_pnd = .true. 34 | rsnw_fall = 54.526 35 | rsnw_tmax = 1500.0 36 | snw_aging_table = 'file' 37 | snw_filename = 'ICE_MACHINE_INPUTDATA/CICE_data/forcing/snicar_drdt_bst_fit_60_c04262019.nc' 38 | snw_tau_fname = 'snowEmpiricalGrowthParameterTau' 39 | snw_kappa_fname = 'snowEmpiricalGrowthParameterKappa' 40 | snw_drdt0_fname = 'snowPropertyRate' 41 | snw_rhos_fname = 'nGrainAgingSnowDensity' 42 | snw_Tgrd_fname = 'nGrainAgingTempGradient' 43 | snw_T_fname = 'nGrainAgingTemperature' 44 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.daley_gnu: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source /opt/modules/default/init/csh # Initialize modules for csh 11 | # Clear environment 12 | module unload craype-x86-skylake 13 | module unload PrgEnv-intel 14 | 15 | module load PrgEnv-gnu # GNU compiler 16 | module load craype-x86-skylake # Reload 17 | module load cray-mpich # MPI (Cray MPICH) 18 | module load cray-netcdf # NetCDF 19 | module load cray-hdf5 # HDF5 20 | setenv HDF5_USE_FILE_LOCKING FALSE # necessary since data is on an NFS filesystem 21 | 22 | # May be needed for OpenMP memory 23 | #setenv OMP_STACKSIZE 64M 24 | 25 | endif 26 | 27 | setenv ICE_MACHINE_MACHNAME daley 28 | setenv ICE_MACHINE_MACHINFO "Cray XC50, Intel Xeon Gold 6148 (Skylake)" 29 | setenv ICE_MACHINE_ENVNAME gnu 30 | setenv ICE_MACHINE_ENVINFO "gnu??, cray-mpich??, netcdf??" 31 | setenv ICE_MACHINE_MAKE make 32 | setenv ICE_MACHINE_WKDIR ~/data/daley/cice/runs 33 | setenv ICE_MACHINE_INPUTDATA /home/ords/cmdd/cmde/sice500/ 34 | setenv ICE_MACHINE_BASELINE ~/data/daley/cice/baselines 35 | setenv ICE_MACHINE_SUBMIT "qsub" 36 | setenv ICE_MACHINE_TPNODE 40 37 | setenv ICE_MACHINE_MAXRUNLENGTH 3 38 | setenv ICE_MACHINE_ACCT P0000000 39 | setenv ICE_MACHINE_QUEUE "development" 40 | setenv ICE_MACHINE_BLDTHRDS 18 41 | setenv ICE_MACHINE_QSTAT "qstat " 42 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.gaeac6_intel: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | #source /lustre/f2/pdata/esrl/gsd/contrib/lua-5.1.4.9/init/init_lmod.csh 11 | source $MODULESHOME/init/csh 12 | #module list 13 | module load PrgEnv-intel/8.6.0 14 | module load intel/2025.0 15 | module load cray-mpich/8.1.32 16 | module load cray-hdf5/1.14.3.1 17 | module load cray-netcdf/4.9.0.13 18 | setenv NETCDF $NETCDF_DIR 19 | #echo zzz final module list 20 | #module list 21 | #module avail intel 22 | 23 | # May be needed for OpenMP memory 24 | setenv OMP_STACKSIZE 64M 25 | 26 | endif 27 | 28 | #env | grep NETCDF 29 | 30 | setenv ICE_MACHINE_MACHNAME gaea 31 | setenv ICE_MACHINE_MACHINFO "HPE-EX Cray3000, AMD EPYC 9654 2.4GHz, HPE Slingshot interconnect" 32 | setenv ICE_MACHINE_ENVNAME intel 33 | setenv ICE_MACHINE_ENVINFO "intel 2025.0, cray-mpich 8.1.32, cray-netcdf 4.9.0.13" 34 | setenv ICE_MACHINE_MAKE gmake 35 | setenv ICE_MACHINE_WKDIR $HOME/scratch6/CICE_RUNS 36 | setenv ICE_MACHINE_INPUTDATA /ncrc/home1/Anthony.Craig/scratch6 37 | setenv ICE_MACHINE_BASELINE $HOME/scratch6/CICE_BASELINE 38 | setenv ICE_MACHINE_SUBMIT "sbatch" 39 | setenv ICE_MACHINE_TPNODE 192 40 | setenv ICE_MACHINE_ACCT A00000 41 | setenv ICE_MACHINE_QUEUE "normal" 42 | setenv ICE_MACHINE_BLDTHRDS 1 43 | setenv ICE_MACHINE_QSTAT "squeue --jobs=" 44 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.compy_intel: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source /share/apps/modules/init/csh 11 | 12 | module purge 13 | module load intel/19.0.5 14 | module load intelmpi/2019u4 15 | module load netcdf/4.6.3 16 | module load hdf5/1.10.5 17 | 18 | #setenv NETCDF_PATH ${NETCDF_DIR} 19 | setenv NETCDF_PATH /share/apps/netcdf/4.6.3/intel/19.0.5 20 | setenv OMP_PROC_BIND true 21 | setenv OMP_PLACES threads 22 | setenv I_MPI_ADJUST_ALLREDUCE 1 23 | limit coredumpsize unlimited 24 | limit stacksize unlimited 25 | 26 | # May be needed for OpenMP memory 27 | #setenv OMP_STACKSIZE 64M 28 | 29 | endif 30 | 31 | setenv ICE_MACHINE_MACHNAME compy 32 | setenv ICE_MACHINE_MACHINFO "PNNL Intel Xeon Skylake with 192 GB of DDR4 DRAM" 33 | setenv ICE_MACHINE_ENVNAME intel 34 | setenv ICE_MACHINE_ENVINFO "intel/19.0.5 intelmpi/2019u4 netcdf/4.6.3" 35 | setenv ICE_MACHINE_MAKE gmake 36 | setenv ICE_MACHINE_WKDIR /compyfs/$USER/CICE_RUNS 37 | setenv ICE_MACHINE_INPUTDATA /compyfs/inputdata/cice-consortium/ 38 | setenv ICE_MACHINE_BASELINE /compyfs/$USER/CICE_BASELINE 39 | setenv ICE_MACHINE_SUBMIT "sbatch " 40 | setenv ICE_MACHINE_ACCT e3sm 41 | setenv ICE_MACHINE_QUEUE "slurm" 42 | setenv ICE_MACHINE_TPNODE 40 # tasks per node 43 | setenv ICE_MACHINE_BLDTHRDS 4 44 | setenv ICE_MACHINE_QSTAT "squeue --jobs=" 45 | 46 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.boxclosed: -------------------------------------------------------------------------------- 1 | days_per_year = 360 2 | use_leap_years = .false. 3 | npt_unit = 'd' 4 | npt = 5 5 | ice_ic = 'internal' 6 | restart_ext = .true. 7 | histfreq = 'd','1','x','x','x' 8 | grid_type = 'rectangular' 9 | kmt_type = 'default' 10 | dxrect = 16.e5 11 | dyrect = 16.e5 12 | ew_boundary_type = 'closed' 13 | ns_boundary_type = 'closed' 14 | tr_iage = .false. 15 | tr_FY = .false. 16 | tr_lvl = .false. 17 | tr_pond_lvl = .false. 18 | ktherm = -1 19 | kstrength = 0 20 | kdyn = 1 21 | kridge = -1 22 | ktransport = -1 23 | coriolis = 'zero' 24 | atmbndy = 'constant' 25 | calc_strair = .false. 26 | rotate_wind = .false. 27 | restore_ice = .false. 28 | f_aice = 'd1' 29 | f_hi = 'd1' 30 | f_hs = 'd' 31 | f_Tsfc = 'd' 32 | f_uvel = 'd1' 33 | f_vvel = 'd1' 34 | f_uatm = 'd' 35 | f_vatm = 'd' 36 | f_uocn = 'd' 37 | f_vocn = 'd' 38 | f_strairx = 'd1' 39 | f_strairy = 'd1' 40 | f_strtltx = 'd1' 41 | f_strtlty = 'd1' 42 | f_strcorx = 'd1' 43 | f_strcory = 'd1' 44 | f_strocnx = 'd1' 45 | f_strocny = 'd1' 46 | f_strintx = 'd1' 47 | f_strinty = 'd1' 48 | f_taubx = 'd1' 49 | f_tauby = 'd1' 50 | f_divu = 'd1' 51 | f_sig1 = 'd1' 52 | f_sig2 = 'd1' 53 | -------------------------------------------------------------------------------- /cicecore/drivers/unittest/opticep/README: -------------------------------------------------------------------------------- 1 | 2 | This unittest tests Icepack optional arguments. The idea is to have source code that is 3 | identical to the standard CICE source code except the significant optional arguments passed 4 | into Icepack are removed from the CICE calls. Then to run a standard CICE case with optional 5 | features (fsd, bgc, isotopes, etc) off in namelist. That results should be bit-for-bit identical 6 | with an equivalent run from the standard source code. 7 | 8 | This unittest will need to be maintained manually. As CICE code changes, the modified files 9 | in the unittest also need to be update manually. Again, it should be as easy as copying the 10 | standard files into this directory and then commenting out the optional arguments. 11 | 12 | NOTES: 13 | 14 | All files from cicecore/drivers/standalone/cice need to be copied to this directory. As of 15 | today, that includes 16 | CICE.F90 17 | CICE_FinalMod.F90 18 | CICE_InitMod.F90 19 | CICE_RunMod.F90 20 | 21 | Add 22 | write(nu_diag, *) "OPTICEP TEST COMPLETED SUCCESSFULLY " 23 | to CICE_FinalMod.F90 24 | 25 | Do not worry about the parameter/tracer query/init/write methods 26 | 27 | Interfaces to modify include 28 | ice_init_column.F90 (icepack_step_radiation, icepack_init_zbgc) 29 | ice_step_mod.F90 (icepack_step_therm1, icepack_step_therm2, icepack_prep_radiation, 30 | icepack_step_radiation, icepack_step_ridge) 31 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.high_Sierra_gnu: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for high sierra - GCC and openmpi compilers 3 | #============================================================================== 4 | 5 | CPP := cpp 6 | CPPDEFS := -DFORTRANUNDERSCORE -DNO_R16 -DHAVE_F2008_CONTIGUOUS -DLINUX -DCPRINTEL ${ICE_CPPDEFS} 7 | CFLAGS := -c -O2 8 | 9 | FIXEDFLAGS := -132 10 | FFLAGS := -O2 -ffree-line-length-none -fconvert=big-endian -finit-real=nan 11 | FFLAGS_NOOPT:= -O0 12 | 13 | ifeq ($(ICE_BLDDEBUG), true) 14 | #FFLAGS += -O0 -g -Wextra -fbacktrace -fbounds-check -ffpe-trap=zero,overflow 15 | FFLAGS += -O0 -g -std=f2008 -fbacktrace -fbounds-check -ffpe-trap=zero,overflow 16 | else 17 | FFLAGS += -O2 18 | endif 19 | 20 | FC := mpif90 21 | 22 | MPICC:= 23 | 24 | MPIFC:= mpif90 25 | LD:= $(FC) 26 | 27 | NETCDF_PATH := $(NETCDF) 28 | 29 | ifeq ($(ICE_IOTYPE), netcdf) 30 | NETCDF_PATH := $(shell nc-config --prefix) 31 | INCLDIR := $(INCLDIR) -I$(NETCDF_PATH)/include 32 | LIB_NETCDF := $(NETCDF_PATH)/lib 33 | LIB_PNETCDF := 34 | SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff 35 | else 36 | SLIBS := 37 | endif 38 | 39 | LIB_MPI := 40 | SCC:=gcc 41 | SFC:= 42 | 43 | #ifeq ($(ICE_THREADED), true) 44 | # LDFLAGS += -fopenmp 45 | # CFLAGS += -fopenmp 46 | # FFLAGS += -fopenmp 47 | #endif 48 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.mustang_intel18: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Macros file for AFRL mustang, intel compiler 3 | #============================================================================== 4 | 5 | CPP := fpp 6 | CPPDEFS := -DFORTRANUNDERSCORE -DNO_CDF5 ${ICE_CPPDEFS} 7 | CFLAGS := -c -O2 -fp-model precise -xHost 8 | 9 | FIXEDFLAGS := -132 10 | FREEFLAGS := -FR 11 | FFLAGS := -fp-model precise -convert big_endian -assume byterecl -ftz -traceback -xHost 12 | FFLAGS_NOOPT:= -O0 13 | 14 | ifeq ($(ICE_BLDDEBUG), true) 15 | FFLAGS += -O0 -g -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created 16 | # FFLAGS += -O0 -g -check all -fpe0 -ftrapuv -fp-model except -check noarg_temp_created -init=snan,arrays 17 | else 18 | FFLAGS += -O2 19 | endif 20 | 21 | SCC := icc 22 | SFC := ifort 23 | MPICC := icc 24 | MPIFC := ifort 25 | 26 | ifeq ($(ICE_COMMDIR), mpi) 27 | FC := $(MPIFC) 28 | CC := $(MPICC) 29 | else 30 | FC := $(SFC) 31 | CC := $(SCC) 32 | endif 33 | LD:= $(FC) 34 | 35 | #defined by env 36 | #NETCDF_PATH := $(NETCDF_PATH) 37 | 38 | INCLDIR += -I$(NETCDF_PATH)/include 39 | LIB_NETCDF := $(NETCDF_PATH)/lib 40 | SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff -lmpi 41 | 42 | ifeq ($(ICE_THREADED), true) 43 | LDFLAGS += -qopenmp 44 | CFLAGS += -qopenmp 45 | FFLAGS += -qopenmp 46 | endif 47 | 48 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.mustang_intel19: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Macros file for AFRL mustang, intel compiler 3 | #============================================================================== 4 | 5 | CPP := fpp 6 | CPPDEFS := -DFORTRANUNDERSCORE -DNO_CDF5 ${ICE_CPPDEFS} 7 | CFLAGS := -c -O2 -fp-model precise -xHost 8 | 9 | FIXEDFLAGS := -132 10 | FREEFLAGS := -FR 11 | FFLAGS := -fp-model precise -convert big_endian -assume byterecl -ftz -traceback -xHost 12 | FFLAGS_NOOPT:= -O0 13 | 14 | ifeq ($(ICE_BLDDEBUG), true) 15 | FFLAGS += -O0 -g -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created 16 | # FFLAGS += -O0 -g -check all -fpe0 -ftrapuv -fp-model except -check noarg_temp_created -init=snan,arrays 17 | else 18 | FFLAGS += -O2 19 | endif 20 | 21 | SCC := icc 22 | SFC := ifort 23 | MPICC := icc 24 | MPIFC := ifort 25 | 26 | ifeq ($(ICE_COMMDIR), mpi) 27 | FC := $(MPIFC) 28 | CC := $(MPICC) 29 | else 30 | FC := $(SFC) 31 | CC := $(SCC) 32 | endif 33 | LD:= $(FC) 34 | 35 | #defined by env 36 | #NETCDF_PATH := $(NETCDF_PATH) 37 | 38 | INCLDIR += -I$(NETCDF_PATH)/include 39 | LIB_NETCDF := $(NETCDF_PATH)/lib 40 | SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff -lmpi 41 | 42 | ifeq ($(ICE_THREADED), true) 43 | LDFLAGS += -qopenmp 44 | CFLAGS += -qopenmp 45 | FFLAGS += -qopenmp 46 | endif 47 | 48 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.mustang_intel20: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Macros file for AFRL mustang, intel compiler 3 | #============================================================================== 4 | 5 | CPP := fpp 6 | CPPDEFS := -DFORTRANUNDERSCORE -DNO_CDF5 ${ICE_CPPDEFS} 7 | CFLAGS := -c -O2 -fp-model precise -xHost 8 | 9 | FIXEDFLAGS := -132 10 | FREEFLAGS := -FR 11 | FFLAGS := -fp-model precise -convert big_endian -assume byterecl -ftz -traceback -xHost 12 | FFLAGS_NOOPT:= -O0 13 | 14 | ifeq ($(ICE_BLDDEBUG), true) 15 | FFLAGS += -O0 -g -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created 16 | # FFLAGS += -O0 -g -check all -fpe0 -ftrapuv -fp-model except -check noarg_temp_created -init=snan,arrays 17 | else 18 | FFLAGS += -O2 19 | endif 20 | 21 | SCC := icc 22 | SFC := ifort 23 | MPICC := icc 24 | MPIFC := ifort 25 | 26 | ifeq ($(ICE_COMMDIR), mpi) 27 | FC := $(MPIFC) 28 | CC := $(MPICC) 29 | else 30 | FC := $(SFC) 31 | CC := $(SCC) 32 | endif 33 | LD:= $(FC) 34 | 35 | #defined by env 36 | #NETCDF_PATH := $(NETCDF_PATH) 37 | 38 | INCLDIR += -I$(NETCDF_PATH)/include 39 | LIB_NETCDF := $(NETCDF_PATH)/lib 40 | SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff -lmpi 41 | 42 | ifeq ($(ICE_THREADED), true) 43 | LDFLAGS += -qopenmp 44 | CFLAGS += -qopenmp 45 | FFLAGS += -qopenmp 46 | endif 47 | 48 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.phase3_intel: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for wcoss phase3 machine, intel compiler 3 | #============================================================================== 4 | 5 | CPP := fpp 6 | CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS} 7 | 8 | #CFLAGS := -c -O2 -fp-model precise -xHost 9 | CFLAGS := -c -O2 10 | 11 | FIXEDFLAGS := -132 12 | FREEFLAGS := -FR 13 | FFLAGS := -fp-model precise -convert big_endian -assume byterecl -ftz -traceback -xHost 14 | FFLAGS_NOOPT:= -O0 15 | 16 | ifeq ($(ICE_BLDDEBUG), true) 17 | FFLAGS += -O0 -g -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created 18 | else 19 | FFLAGS += -O2 20 | endif 21 | 22 | SCC := icc 23 | SFC := ifort 24 | MPICC := mpicc 25 | MPIFC := mpiifort 26 | 27 | ifeq ($(ICE_COMMDIR), mpi) 28 | FC := $(MPIFC) 29 | CC := $(MPICC) 30 | else 31 | FC := $(SFC) 32 | CC := $(SCC) 33 | endif 34 | LD:= $(FC) 35 | 36 | NETCDF_PATH := $(NETCDF) 37 | 38 | PIO_CONFIG_OPTS:= --enable-filesystem-hints=gpfs 39 | 40 | INCLDIR := $(INCLDIR) $(NETCDF_INCLUDE) 41 | 42 | LIB_NETCDF := $(NETCDF_PATH)/lib 43 | LIB_MPI := $(IMPILIBDIR) 44 | 45 | SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff 46 | 47 | ifeq ($(ICE_THREADED), true) 48 | LDFLAGS += -qopenmp 49 | CFLAGS += -qopenmp 50 | FFLAGS += -qopenmp 51 | endif 52 | 53 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.ppp6_gnu-impi: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | # package loader 11 | source /fs/ssm/main/opt/ssmuse/ssmuse-1.11/ssmuse_1.11_all/bin/ssmuse-boot.csh >& /dev/null 12 | set ssmuse=`which ssmuse-csh` 13 | # GNU compilers + Intel MPI 14 | source $ssmuse -x /fs/ssm/main/opt/intelcomp/inteloneapi-2022.1.2 15 | setenv I_MPI_DEBUG_COREDUMP 1 16 | setenv I_MPI_F77 gfortran 17 | setenv I_MPI_F90 gfortran 18 | setenv I_MPI_FC gfortran 19 | setenv I_MPI_CC gcc 20 | setenv I_MPI_CXX g++ 21 | # Reproducible collectives 22 | if (${ICE_BASEGEN} != ${ICE_SPVAL} || ${ICE_BASECOM} != ${ICE_SPVAL}) then 23 | setenv I_MPI_CBWR 1 24 | endif 25 | # Stop being buggy 26 | setenv I_MPI_FABRICS ofi 27 | 28 | # OpenMP 29 | setenv OMP_STACKSIZE 64M 30 | 31 | endif 32 | 33 | setenv ICE_MACHINE_MACHNAME ppp6 34 | setenv ICE_MACHINE_ENVNAME gnu-impi 35 | setenv ICE_MACHINE_MAKE make 36 | setenv ICE_MACHINE_WKDIR ~/data/site6/cice/runs/ 37 | setenv ICE_MACHINE_INPUTDATA /space/hall6/sitestore/eccc/cmd/e/sice500/ 38 | setenv ICE_MACHINE_BASELINE ~/data/site6/cice/baselines/ 39 | setenv ICE_MACHINE_MAXRUNLENGTH 6 40 | setenv ICE_MACHINE_SUBMIT qsub 41 | setenv ICE_MACHINE_TPNODE 80 42 | setenv ICE_MACHINE_ACCT unused 43 | setenv ICE_MACHINE_QUEUE development 44 | setenv ICE_MACHINE_BLDTHRDS 40 45 | setenv ICE_MACHINE_QSTAT qstat 46 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.banting_gnu: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source /opt/modules/default/init/csh # Initialize modules for csh 11 | # Clear environment 12 | module unload craype-x86-skylake 13 | module unload PrgEnv-intel 14 | 15 | module load PrgEnv-gnu # GNU compiler 16 | module load craype-x86-skylake # Reload 17 | module load cray-mpich # MPI (Cray MPICH) 18 | module load cray-netcdf # NetCDF 19 | module load cray-hdf5 # HDF5 20 | setenv HDF5_USE_FILE_LOCKING FALSE # necessary since data is on an NFS filesystem 21 | 22 | # May be needed for OpenMP memory 23 | #setenv OMP_STACKSIZE 64M 24 | 25 | endif 26 | 27 | setenv ICE_MACHINE_MACHNAME banting 28 | setenv ICE_MACHINE_MACHINFO "Cray XC50, Intel Xeon Gold 6148 (Skylake), Aries Interconnect" 29 | setenv ICE_MACHINE_ENVNAME gnu 30 | setenv ICE_MACHINE_ENVINFO "gnu??, cray-mpich??, netcdf??" 31 | setenv ICE_MACHINE_MAKE make 32 | setenv ICE_MACHINE_WKDIR ~/data/banting/cice/runs 33 | setenv ICE_MACHINE_INPUTDATA /home/ords/cmdd/cmde/sice500/ 34 | setenv ICE_MACHINE_BASELINE ~/data/banting/cice/baselines 35 | setenv ICE_MACHINE_SUBMIT "qsub" 36 | setenv ICE_MACHINE_TPNODE 40 37 | setenv ICE_MACHINE_MAXRUNLENGTH 3 38 | setenv ICE_MACHINE_ACCT P0000000 39 | setenv ICE_MACHINE_QUEUE "development" 40 | setenv ICE_MACHINE_BLDTHRDS 18 41 | setenv ICE_MACHINE_QSTAT "qstat " 42 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.robert_intel: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | # Package loader 11 | source /fs/ssm/main/opt/ssmuse/ssmuse-1.11/ssmuse_1.11_all/bin/ssmuse-boot.csh >& /dev/null 12 | set ssmuse=`which ssmuse-csh` 13 | # Intel compiler + Intel MPI 14 | source $ssmuse -d /fs/ssm/main/opt/intelcomp/inteloneapi-2022.1.2/intelcomp+mpi+mkl 15 | # source /etc/profile.d/modules.csh 16 | # module use /home/sice500/modulefiles 17 | # setenv I_MPI_LIBRARY_KIND debug 18 | # module load -s icc mpi 19 | setenv FOR_DUMP_CORE_FILE 1 20 | setenv I_MPI_DEBUG_COREDUMP 1 21 | # Stop being buggy 22 | setenv I_MPI_FABRICS ofi 23 | # NetCDF 24 | source $ssmuse -d main/opt/hdf5-netcdf4/serial/shared/inteloneapi-2022.1.2/01 25 | 26 | # OpenMP 27 | setenv OMP_STACKSIZE 64M 28 | 29 | endif 30 | 31 | setenv ICE_MACHINE_MACHNAME robert 32 | setenv ICE_MACHINE_ENVNAME intel 33 | setenv ICE_MACHINE_MAKE make 34 | setenv ICE_MACHINE_WKDIR ~/data/robert/cice/runs/ 35 | setenv ICE_MACHINE_INPUTDATA /space/hall6/sitestore/eccc/cmd/e/sice500/ 36 | setenv ICE_MACHINE_BASELINE ~/data/robert/cice/baselines/ 37 | setenv ICE_MACHINE_SUBMIT qsub 38 | setenv ICE_MACHINE_TPNODE 80 39 | setenv ICE_MACHINE_MAXRUNLENGTH 3 40 | setenv ICE_MACHINE_ACCT unused 41 | setenv ICE_MACHINE_QUEUE development 42 | setenv ICE_MACHINE_BLDTHRDS 40 43 | setenv ICE_MACHINE_QSTAT qstat 44 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.freya_intel: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source /opt/modules/default/init/csh # Initialize modules for csh 11 | # Clear environment 12 | module rm PrgEnv-intel 13 | module rm PrgEnv-cray 14 | module rm PrgEnv-gnu 15 | module add PrgEnv-intel 16 | #module load PrgEnv-intel # Intel compiler 17 | #module load cray-mpich # MPI (Cray MPICH) 18 | module add cray-netcdf # NetCDF 19 | module add cray-hdf5 # HDF5 20 | #setenv HDF5_USE_FILE_LOCKING FALSE # necessary since data is on an NFS filesystem 21 | 22 | endif 23 | 24 | setenv ICE_MACHINE_MACHNAME freya 25 | setenv ICE_MACHINE_MACHINFO "Cray XC50, Intel Xeon Gold 6148 (Skylake) NOT SURE-TILL" 26 | setenv ICE_MACHINE_ENVNAME intel 27 | setenv ICE_MACHINE_ENVINFO "Intel 18.0.0.128, cray-mpich/7.7.0, cray-netcdf/4.4.1.1.6" 28 | setenv ICE_MACHINE_MAKE make 29 | setenv ICE_MACHINE_WKDIR /data/${USER}/cice_original/run/ 30 | setenv ICE_MACHINE_INPUTDATA /data/${USER}/cice_original/ 31 | setenv ICE_MACHINE_BASELINE /data/${USER}/cice_original/dbaselines/ 32 | setenv ICE_MACHINE_SUBMIT "qsub" 33 | setenv ICE_MACHINE_TPNODE 36 # tasks per node 34 | #setenv ICE_MACHINE_MAXRUNLENGTH 9 35 | setenv ICE_MACHINE_ACCT P0000000 36 | setenv ICE_MACHINE_QUEUE "development" 37 | setenv ICE_MACHINE_BLDTHRDS 18 38 | setenv ICE_MACHINE_QSTAT "qstat " 39 | setenv OMP_STACKSIZE 64M 40 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.ppp5_intel: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for "ppp5" 3 | #============================================================================== 4 | # For use with intel compiler 5 | #============================================================================== 6 | 7 | CPP := fpp 8 | CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS} 9 | CFLAGS := -c -O2 -fp-model precise 10 | #-xHost 11 | 12 | FIXEDFLAGS := -132 13 | FREEFLAGS := -FR 14 | FFLAGS := -fp-model source -convert big_endian -assume byterecl -ftz -traceback -diag-disable 5140 -no-wrap-margin 15 | #-xHost 16 | 17 | ifeq ($(ICE_BLDDEBUG), true) 18 | FFLAGS += -O0 -g -check -fpe0 -ftrapuv -fp-model except -check noarg_temp_created -check nooutput_conversion -debug-parameters all 19 | #-init=snan,arrays 20 | # -heap-arrays 1024 21 | else 22 | FFLAGS += -O2 23 | endif 24 | 25 | SCC := icc 26 | SFC := ifort 27 | MPICC := mpiicc 28 | MPIFC := mpiifort 29 | 30 | ifeq ($(ICE_COMMDIR), mpi) 31 | FC := $(MPIFC) 32 | CC := $(MPICC) 33 | else 34 | FC := $(SFC) 35 | CC := $(SCC) 36 | endif 37 | LD:= $(FC) 38 | 39 | ifeq ($(ICE_IOTYPE), netcdf) 40 | INCLDIR += $(shell nf-config --fflags) 41 | SLIBS := $(shell nf-config --flibs) 42 | endif 43 | 44 | ifeq ($(ICE_THREADED), true) 45 | LDFLAGS += -qopenmp 46 | CFLAGS += -qopenmp 47 | FFLAGS += -qopenmp 48 | endif 49 | 50 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.ppp6_intel: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for "ppp6" 3 | #============================================================================== 4 | # For use with intel compiler 5 | #============================================================================== 6 | 7 | CPP := fpp 8 | CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS} 9 | CFLAGS := -c -O2 -fp-model precise 10 | #-xHost 11 | 12 | FIXEDFLAGS := -132 13 | FREEFLAGS := -FR 14 | FFLAGS := -fp-model source -convert big_endian -assume byterecl -ftz -traceback -diag-disable 5140 -no-wrap-margin 15 | #-xHost 16 | 17 | ifeq ($(ICE_BLDDEBUG), true) 18 | FFLAGS += -O0 -g -check -fpe0 -ftrapuv -fp-model except -check noarg_temp_created -check nooutput_conversion -debug-parameters all 19 | #-init=snan,arrays 20 | # -heap-arrays 1024 21 | else 22 | FFLAGS += -O2 23 | endif 24 | 25 | SCC := icc 26 | SFC := ifort 27 | MPICC := mpiicc 28 | MPIFC := mpiifort 29 | 30 | ifeq ($(ICE_COMMDIR), mpi) 31 | FC := $(MPIFC) 32 | CC := $(MPICC) 33 | else 34 | FC := $(SFC) 35 | CC := $(SCC) 36 | endif 37 | LD:= $(FC) 38 | 39 | ifeq ($(ICE_IOTYPE), netcdf) 40 | INCLDIR += $(shell nf-config --fflags) 41 | SLIBS := $(shell nf-config --flibs) 42 | endif 43 | 44 | ifeq ($(ICE_THREADED), true) 45 | LDFLAGS += -qopenmp 46 | CFLAGS += -qopenmp 47 | FFLAGS += -qopenmp 48 | endif 49 | 50 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.conda_linux: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | # Init conda 11 | if ! $?CONDA_EXE then 12 | echo "" 13 | echo "${0}: conda executable not found, see the CICE documentation for how to initialize your login shell to use conda" 14 | echo "" 15 | exit 1 16 | endif 17 | source `$CONDA_EXE info --base`/etc/profile.d/conda.csh 18 | # Activate "cice" conda environment 19 | conda activate cice 20 | if $status then 21 | echo "" 22 | echo "${0}: 'cice' conda environment not found, see the CICE documentation for how to create the conda cice env" 23 | echo "" 24 | exit 1 25 | endif 26 | 27 | # May be needed for OpenMP memory 28 | #setenv OMP_STACKSIZE 64M 29 | 30 | endif 31 | 32 | setenv ICE_MACHINE_MACHNAME conda 33 | setenv ICE_MACHINE_MACHINFO "Generic conda setup" 34 | setenv ICE_MACHINE_ENVNAME linux 35 | setenv ICE_MACHINE_ENVINFO "(NOTE: may vary) GNU Fortran (GCC) 7.3.0, openmpi 4.0.2, netcdf 4.5.2" 36 | setenv ICE_MACHINE_MAKE make 37 | setenv ICE_MACHINE_WKDIR $HOME/cice-dirs/runs 38 | setenv ICE_MACHINE_INPUTDATA $HOME/cice-dirs/input 39 | setenv ICE_MACHINE_BASELINE $HOME/cice-dirs/baseline 40 | setenv ICE_MACHINE_SUBMIT " " 41 | setenv ICE_MACHINE_TPNODE 4 42 | setenv ICE_MACHINE_ACCT P0000000 43 | setenv ICE_MACHINE_QUEUE "debug" 44 | setenv ICE_MACHINE_BLDTHRDS 4 45 | setenv ICE_MACHINE_QSTAT " " 46 | 47 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.underhill_intel: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | # Package loader 11 | source /fs/ssm/main/opt/ssmuse/ssmuse-1.11/ssmuse_1.11_all/bin/ssmuse-boot.csh >& /dev/null 12 | set ssmuse=`which ssmuse-csh` 13 | # Intel compiler + Intel MPI 14 | source $ssmuse -d /fs/ssm/main/opt/intelcomp/inteloneapi-2022.1.2/intelcomp+mpi+mkl 15 | # source /etc/profile.d/modules.csh 16 | # module use /home/sice500/modulefiles 17 | # setenv I_MPI_LIBRARY_KIND debug 18 | # module load -s icc mpi 19 | setenv FOR_DUMP_CORE_FILE 1 20 | setenv I_MPI_DEBUG_COREDUMP 1 21 | # Stop being buggy 22 | setenv I_MPI_FABRICS ofi 23 | # NetCDF 24 | source $ssmuse -d main/opt/hdf5-netcdf4/serial/shared/inteloneapi-2022.1.2/01 25 | 26 | # OpenMP 27 | setenv OMP_STACKSIZE 64M 28 | 29 | endif 30 | 31 | setenv ICE_MACHINE_MACHNAME underhill 32 | setenv ICE_MACHINE_ENVNAME intel 33 | setenv ICE_MACHINE_MAKE make 34 | setenv ICE_MACHINE_WKDIR ~/data/underhill/cice/runs/ 35 | setenv ICE_MACHINE_INPUTDATA /space/hall5/sitestore/eccc/cmd/e/sice500/ 36 | setenv ICE_MACHINE_BASELINE ~/data/underhill/cice/baselines/ 37 | setenv ICE_MACHINE_SUBMIT qsub 38 | setenv ICE_MACHINE_MAXRUNLENGTH 3 39 | setenv ICE_MACHINE_TPNODE 80 40 | setenv ICE_MACHINE_ACCT unused 41 | setenv ICE_MACHINE_QUEUE development 42 | setenv ICE_MACHINE_BLDTHRDS 40 43 | setenv ICE_MACHINE_QSTAT qstat 44 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.ppp6_intel19: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for "ppp6" 3 | #============================================================================== 4 | # For use with intel compiler 5 | #============================================================================== 6 | 7 | CPP := fpp 8 | CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS} 9 | CFLAGS := -c -O2 -fp-model precise 10 | #-xHost 11 | 12 | FIXEDFLAGS := -132 13 | FREEFLAGS := -FR 14 | FFLAGS := -fp-model source -convert big_endian -assume byterecl -ftz -traceback -diag-disable 5140 -no-wrap-margin 15 | #-xHost 16 | 17 | ifeq ($(ICE_BLDDEBUG), true) 18 | FFLAGS += -O0 -g -check -fpe0 -ftrapuv -fp-model except -check noarg_temp_created -check nooutput_conversion -debug-parameters all 19 | #-init=snan,arrays 20 | # -heap-arrays 1024 21 | else 22 | FFLAGS += -O2 23 | endif 24 | 25 | SCC := icc 26 | SFC := ifort 27 | MPICC := mpiicc 28 | MPIFC := mpiifort 29 | 30 | ifeq ($(ICE_COMMDIR), mpi) 31 | FC := $(MPIFC) 32 | CC := $(MPICC) 33 | else 34 | FC := $(SFC) 35 | CC := $(SCC) 36 | endif 37 | LD:= $(FC) 38 | 39 | ifeq ($(ICE_IOTYPE), netcdf) 40 | INCLDIR += $(shell nf-config --fflags) 41 | SLIBS := $(shell nf-config --flibs) 42 | endif 43 | 44 | ifeq ($(ICE_THREADED), true) 45 | LDFLAGS += -qopenmp 46 | CFLAGS += -qopenmp 47 | FFLAGS += -qopenmp 48 | endif 49 | 50 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.robert_intel: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for "robert" 3 | #============================================================================== 4 | # For use with intel compiler 5 | #============================================================================== 6 | 7 | CPP := fpp 8 | CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS} 9 | CFLAGS := -c -O2 -fp-model precise 10 | #-xHost 11 | 12 | FIXEDFLAGS := -132 13 | FREEFLAGS := -FR 14 | FFLAGS := -fp-model source -convert big_endian -assume byterecl -ftz -traceback -diag-disable 5140 -no-wrap-margin 15 | #-xHost 16 | 17 | ifeq ($(ICE_BLDDEBUG), true) 18 | FFLAGS += -O0 -g -check -fpe0 -ftrapuv -fp-model except -check noarg_temp_created -check nooutput_conversion -debug-parameters all 19 | #-init=snan,arrays 20 | # -heap-arrays 1024 21 | else 22 | FFLAGS += -O2 23 | endif 24 | 25 | SCC := icc 26 | SFC := ifort 27 | MPICC := mpiicc 28 | MPIFC := mpiifort 29 | 30 | ifeq ($(ICE_COMMDIR), mpi) 31 | FC := $(MPIFC) 32 | CC := $(MPICC) 33 | else 34 | FC := $(SFC) 35 | CC := $(SCC) 36 | endif 37 | LD:= $(FC) 38 | 39 | ifeq ($(ICE_IOTYPE), netcdf) 40 | INCLDIR += $(shell nf-config --fflags) 41 | SLIBS := $(shell nf-config --flibs) 42 | endif 43 | 44 | ifeq ($(ICE_THREADED), true) 45 | LDFLAGS += -qopenmp 46 | CFLAGS += -qopenmp 47 | FFLAGS += -qopenmp 48 | endif 49 | 50 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.underhill_intel: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for "underhill" 3 | #============================================================================== 4 | # For use with intel compiler 5 | #============================================================================== 6 | 7 | CPP := fpp 8 | CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS} 9 | CFLAGS := -c -O2 -fp-model precise 10 | #-xHost 11 | 12 | FIXEDFLAGS := -132 13 | FREEFLAGS := -FR 14 | FFLAGS := -fp-model source -convert big_endian -assume byterecl -ftz -traceback -diag-disable 5140 -no-wrap-margin 15 | #-xHost 16 | 17 | ifeq ($(ICE_BLDDEBUG), true) 18 | FFLAGS += -O0 -g -check -fpe0 -ftrapuv -fp-model except -check noarg_temp_created -check nooutput_conversion -debug-parameters all 19 | #-init=snan,arrays 20 | # -heap-arrays 1024 21 | else 22 | FFLAGS += -O2 23 | endif 24 | 25 | SCC := icc 26 | SFC := ifort 27 | MPICC := mpiicc 28 | MPIFC := mpiifort 29 | 30 | ifeq ($(ICE_COMMDIR), mpi) 31 | FC := $(MPIFC) 32 | CC := $(MPICC) 33 | else 34 | FC := $(SFC) 35 | CC := $(SCC) 36 | endif 37 | LD:= $(FC) 38 | 39 | ifeq ($(ICE_IOTYPE), netcdf) 40 | INCLDIR += $(shell nf-config --fflags) 41 | SLIBS := $(shell nf-config --flibs) 42 | endif 43 | 44 | ifeq ($(ICE_THREADED), true) 45 | LDFLAGS += -qopenmp 46 | CFLAGS += -qopenmp 47 | FFLAGS += -qopenmp 48 | endif 49 | 50 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.hobart_intel: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for NCAR hobart, NAG compiler 3 | #============================================================================== 4 | 5 | CPP := /usr/bin/cpp 6 | CPPFLAGS := $(CFLAGS) -lifcore 7 | CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS} 8 | CFLAGS := -c -qno-opt-dynamic-align -fp-model precise -std=gnu99 9 | 10 | FIXEDFLAGS := -fixed -132 11 | FREEFLAGS := -free 12 | FFLAGS := -qno-opt-dynamic-align -convert big_endian -assume byterecl -ftz -traceback -assume realloc_lhs -fp-model source -O2 -debug minimal 13 | FC_AUTO_R8 := -r8 14 | 15 | FFLAGS_NOOPT:= 16 | 17 | ifeq ($(ICE_BLDDEBUG), true) 18 | FFLAGS := -qno-opt-dynamic-align -convert big_endian -assume byterecl -ftz -traceback -assume realloc_lhs -fp-model source -O0 -g -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created 19 | endif 20 | 21 | SCC := icc 22 | SFC := ifort 23 | MPICC := mpicc 24 | MPIFC := mpif90 25 | 26 | ifeq ($(ICE_COMMDIR), mpi) 27 | FC := $(MPIFC) 28 | CC := $(MPICC) 29 | else 30 | FC := $(SFC) 31 | CC := $(SCC) 32 | endif 33 | LD:= $(FC) 34 | 35 | INCLDIR := -I$(NETCDF_PATH)/include -I$(MPI_PATH)/include 36 | 37 | LIB_NETCDF := $(NETCDF_PATH)/lib 38 | LIB_PNETCDF := $(PNETCDF_PATH)/lib 39 | LIB_MPI := $(IMPILIBDIR) 40 | 41 | SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff -L/usr/lib64 -llapack -mkl=cluster 42 | 43 | -------------------------------------------------------------------------------- /configuration/scripts/tests/test_smoke.script: -------------------------------------------------------------------------------- 1 | 2 | #---------------------------------------------------- 3 | # Run the CICE model 4 | # cice.run returns -1 if run did not complete successfully 5 | 6 | ./cice.run 7 | set res="$status" 8 | 9 | set log_file = `ls -t1 ${ICE_RUNDIR}/cice.runlog* | head -1` 10 | set ttimeloop = `grep TimeLoop ${log_file} | grep Timer | cut -c 22-32` 11 | set tdynamics = `grep Dynamics ${log_file} | grep Timer | cut -c 22-32` 12 | set tcolumn = `grep Column ${log_file} | grep Timer | cut -c 22-32` 13 | if (${ttimeloop} == "") set ttimeloop = -1 14 | if (${tdynamics} == "") set tdynamics = -1 15 | if (${tcolumn} == "") set tcolumn = -1 16 | 17 | mv -f ${ICE_CASEDIR}/test_output ${ICE_CASEDIR}/test_output.prev 18 | cat ${ICE_CASEDIR}/test_output.prev | grep -iv "${ICE_TESTNAME} run" >! ${ICE_CASEDIR}/test_output 19 | mv -f ${ICE_CASEDIR}/test_output ${ICE_CASEDIR}/test_output.prev 20 | cat ${ICE_CASEDIR}/test_output.prev | grep -iv "${ICE_TESTNAME} test" >! ${ICE_CASEDIR}/test_output 21 | rm -f ${ICE_CASEDIR}/test_output.prev 22 | 23 | set grade = PASS 24 | if ( $res != 0 ) then 25 | set grade = FAIL 26 | echo "$grade ${ICE_TESTNAME} run ${ttimeloop} ${tdynamics} ${tcolumn}" >> ${ICE_CASEDIR}/test_output 27 | echo "$grade ${ICE_TESTNAME} test " >> ${ICE_CASEDIR}/test_output 28 | exit 99 29 | endif 30 | 31 | echo "$grade ${ICE_TESTNAME} run ${ttimeloop} ${tdynamics} ${tcolumn}" >> ${ICE_CASEDIR}/test_output 32 | echo "$grade ${ICE_TESTNAME} test " >> ${ICE_CASEDIR}/test_output 33 | 34 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.wcoss_dell_p3_intel: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for wcoss phase3 machine, intel compiler 3 | #============================================================================== 4 | 5 | CPP := fpp 6 | CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS} 7 | CFLAGS := -c -O2 -fp-model precise -xHost 8 | 9 | FIXEDFLAGS := -132 10 | FREEFLAGS := -FR 11 | FFLAGS := -fp-model precise -convert big_endian -assume byterecl -ftz -traceback -align array64byte -xHost 12 | FFLAGS_NOOPT:= -O0 13 | 14 | ifeq ($(ICE_BLDDEBUG), true) 15 | FFLAGS += -O0 -g -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created -link_mpi=dbg 16 | else 17 | FFLAGS += -O2 18 | endif 19 | 20 | SCC := icc 21 | SFC := ifort 22 | MPICC := mpiicc 23 | MPIFC := mpiifort 24 | 25 | ifeq ($(ICE_COMMDIR), mpi) 26 | FC := $(MPIFC) 27 | CC := $(MPICC) 28 | else 29 | FC := $(SFC) 30 | CC := $(SCC) 31 | endif 32 | LD:= $(FC) 33 | 34 | NETCDF_PATH := $(NETCDF) 35 | 36 | PIO_CONFIG_OPTS:= --enable-filesystem-hints=gpfs 37 | 38 | INC_NETCDF := $(NETCDF_PATH)/include 39 | LIB_NETCDF := $(NETCDF_PATH)/lib 40 | 41 | INCLDIR := $(INCLDIR) -I$(INC_NETCDF) 42 | #SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff -L$(LIB_PNETCDF) -lpnetcdf -lgptl 43 | SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff 44 | 45 | ifeq ($(ICE_THREADED), true) 46 | LDFLAGS += -qopenmp 47 | CFLAGS += -qopenmp 48 | FFLAGS += -qopenmp 49 | endif 50 | -------------------------------------------------------------------------------- /doc/source/intro/quickstart.rst: -------------------------------------------------------------------------------- 1 | :tocdepth: 3 2 | 3 | 4 | .. _quickstart: 5 | 6 | Quick Start 7 | =========== 8 | 9 | Clone the model from the CICE-Consortium repository:: 10 | 11 | git clone --recurse-submodules https://github.com/CICE-Consortium/CICE 12 | 13 | Instructions for working with Git and GitHub with CICE (and Icepack) can be 14 | found in the `CICE Git Workflow Guide `_. 15 | 16 | You will probably have to download some input data, see the `CICE wiki `_ or :ref:`force`. 17 | 18 | Software requirements are noted in this :ref:`software` section. 19 | 20 | Porting information can be found in the :ref:`porting` section. A special porting section for personal computers 21 | is in the :ref:`laptops` section. 22 | 23 | From your main CICE directory, execute:: 24 | 25 | ./cice.setup -c ~/mycase1 -g gx3 -m testmachine -s diag1,thread -p 8x1 26 | cd ~/mycase1 27 | ./cice.build 28 | ./cice.submit 29 | 30 | ``testmachine`` is a generic machine name included with the cice scripts. 31 | The local machine name will have to be substituted for ``testmachine`` and 32 | there are working ports for several different machines. If you need to 33 | port, see the :ref:`porting` section as noted above. 34 | :ref:`scripts` provides more information about 35 | how to use the cice.setup and cice.submit scripts. 36 | 37 | Please cite any use of the CICE code. More information can be found at :ref:`citing`. 38 | 39 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.onyx_cray: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Macros file for ERDC onyx, cray compiler 3 | #============================================================================== 4 | 5 | CPP := ftn -e P 6 | CPPDEFS := -DFORTRANUNDERSCORE -DNO_R16 ${ICE_CPPDEFS} 7 | CFLAGS := -c -O2 -h fp0 8 | 9 | FIXEDFLAGS := -132 10 | FREEFLAGS := 11 | FFLAGS := -h fp0 -h byteswapio 12 | FFLAGS_NOOPT:= -O0 13 | LDFLAGS := -h byteswapio 14 | 15 | ifeq ($(ICE_BLDDEBUG), true) 16 | FFLAGS += -O0 -g -Rbcdps 17 | else 18 | FFLAGS += -O2 19 | endif 20 | 21 | SCC := cc 22 | SFC := ftn 23 | MPICC := cc 24 | MPIFC := ftn 25 | 26 | ifeq ($(ICE_COMMDIR), mpi) 27 | FC := $(MPIFC) 28 | CC := $(MPICC) 29 | else 30 | FC := $(SFC) 31 | CC := $(SCC) 32 | endif 33 | LD:= $(FC) 34 | 35 | # defined by module 36 | #NETCDF_PATH := $(NETCDF) 37 | #PNETCDF_PATH := $(PNETCDF) 38 | #PNETCDF_PATH := /glade/apps/opt/pnetcdf/1.3.0/intel/default 39 | #LAPACK_LIBDIR := /glade/apps/opt/lapack/3.4.2/intel/12.1.5/lib 40 | 41 | #PIO_CONFIG_OPTS:= --enable-filesystem-hints=gpfs 42 | 43 | INCLDIR := $(INCLDIR) 44 | #INCLDIR += -I$(NETCDF_PATH)/include 45 | 46 | #LIB_NETCDF := $(NETCDF_PATH)/lib 47 | #LIB_PNETCDF := $(PNETCDF_PATH)/lib 48 | #LIB_MPI := $(IMPILIBDIR) 49 | #SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff 50 | 51 | ifeq ($(ICE_THREADED), false) 52 | LDFLAGS += -hnoomp 53 | CFLAGS += -hnoomp 54 | FFLAGS += -hnoomp 55 | endif 56 | 57 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.freya_gnu: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | source /opt/modules/default/init/csh # Initialize modules for csh 11 | # Clear environment 12 | module rm PrgEnv-intel 13 | module rm PrgEnv-cray 14 | module rm PrgEnv-gnu 15 | module add PrgEnv-gnu 16 | #module load PrgEnv-intel # Intel compiler 17 | #module load cray-mpich # MPI (Cray MPICH) 18 | module add cray-netcdf # NetCDF 19 | module add cray-hdf5 # HDF5 20 | #setenv HDF5_USE_FILE_LOCKING FALSE # necessary since data is on an NFS filesystem 21 | setenv HDF5_USE_FILE_LOCKING FALSE # necessary since data is on an NFS filesystem 22 | 23 | endif 24 | 25 | setenv ICE_MACHINE_MACHNAME freya 26 | setenv ICE_MACHINE_MACHINFO "Cray XC50, GNU Xeon Gold 6148 (Skylake) NOT SURE-TILL" 27 | setenv ICE_MACHINE_ENVNAME gnu 28 | setenv ICE_MACHINE_ENVINFO "gcc/7.2.0, cray-mpich/7.7.0, cray-netcdf/4.4.1.1.6" 29 | setenv ICE_MACHINE_MAKE make 30 | setenv ICE_MACHINE_WKDIR /data/${USER}/cice_original/run/ 31 | setenv ICE_MACHINE_INPUTDATA /data/${USER}/cice_original/ 32 | setenv ICE_MACHINE_BASELINE /data/${USER}/cice_original/dbaselines/ 33 | setenv ICE_MACHINE_SUBMIT "qsub" 34 | setenv ICE_MACHINE_TPNODE 36 # tasks per node 35 | #setenv ICE_MACHINE_MAXRUNLENGTH 9 36 | setenv ICE_MACHINE_ACCT P0000000 37 | setenv ICE_MACHINE_QUEUE "development" 38 | setenv ICE_MACHINE_BLDTHRDS 18 39 | setenv ICE_MACHINE_QSTAT "qstat " 40 | setenv OMP_STACKSIZE 64M 41 | -------------------------------------------------------------------------------- /configuration/scripts/machines/env.ppp6_intel19: -------------------------------------------------------------------------------- 1 | #!/bin/csh -f 2 | 3 | set inp = "undefined" 4 | if ($#argv == 1) then 5 | set inp = $1 6 | endif 7 | 8 | if ("$inp" != "-nomodules") then 9 | 10 | # package loader 11 | source /fs/ssm/main/opt/ssmuse/ssmuse-1.11/ssmuse_1.11_all/bin/ssmuse-boot.csh >& /dev/null 12 | set ssmuse=`which ssmuse-csh` 13 | # Intel compiler 14 | source $ssmuse -d /fs/ssm/main/opt/intelcomp/intelpsxe-cluster-19.0.3.199 15 | setenv FOR_DUMP_CORE_FILE 1 16 | # Intel MPI 17 | source $ssmuse -d /fs/ssm/hpco/exp/intelpsxe-impi-19.0.3.199 18 | setenv FI_PROVIDER verbs 19 | setenv I_MPI_DEBUG_COREDUMP 1 20 | # Reproducible collectives 21 | if (${ICE_BASEGEN} != ${ICE_SPVAL} || ${ICE_BASECOM} != ${ICE_SPVAL}) then 22 | setenv I_MPI_CBWR 1 23 | endif 24 | # Stop being buggy 25 | setenv I_MPI_FABRICS ofi 26 | # NetCDF 27 | source $ssmuse -d hpco/exp/hdf5-netcdf4/serial/static/intel-19.0.3.199/02 28 | 29 | # OpenMP 30 | setenv OMP_STACKSIZE 64M 31 | 32 | endif 33 | 34 | setenv ICE_MACHINE_MACHNAME ppp6 35 | setenv ICE_MACHINE_ENVNAME intel19 36 | setenv ICE_MACHINE_MAKE make 37 | setenv ICE_MACHINE_WKDIR ~/data/site6/cice/runs/ 38 | setenv ICE_MACHINE_INPUTDATA /space/hall6/sitestore/eccc/cmd/e/sice500/ 39 | setenv ICE_MACHINE_BASELINE ~/data/site6/cice/baselines/ 40 | setenv ICE_MACHINE_MAXRUNLENGTH 6 41 | setenv ICE_MACHINE_SUBMIT "qsub" 42 | setenv ICE_MACHINE_TPNODE 80 43 | setenv ICE_MACHINE_ACCT P0000000 44 | setenv ICE_MACHINE_QUEUE "debug" 45 | setenv ICE_MACHINE_BLDTHRDS 24 46 | setenv ICE_MACHINE_QSTAT "qstat " 47 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.conda_linux: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for conda environment, GNU/Linux systems 3 | #============================================================================== 4 | 5 | # Preprocessor macros 6 | CPPDEFS := -DFORTRANUNDERSCORE ${ICE_CPPDEFS} 7 | 8 | # Flags for the C compiler 9 | CFLAGS := -c -O2 10 | 11 | # Flags for the Fortran compiler 12 | FREEFLAGS := -ffree-form 13 | FFLAGS := -fconvert=big-endian -fbacktrace -ffree-line-length-none 14 | 15 | # Additional flags for the Fortran compiler when compiling in debug mode 16 | ifeq ($(ICE_BLDDEBUG), true) 17 | FFLAGS += -O0 -g -fcheck=bounds -finit-real=nan -fimplicit-none -ffpe-trap=invalid,zero,overflow 18 | else 19 | FFLAGS += -O2 20 | endif 21 | 22 | # C and Fortran compilers and MPI wrappers 23 | SCC := gcc 24 | SFC := gfortran 25 | MPICC := mpicc 26 | MPIFC := mpifort 27 | 28 | ifeq ($(ICE_COMMDIR), mpi) 29 | FC := $(MPIFC) 30 | CC := $(MPICC) 31 | else 32 | FC := $(SFC) 33 | CC := $(SCC) 34 | endif 35 | 36 | # Linker 37 | LD:= $(FC) 38 | 39 | # Location of the compiled Fortran modules (NetCDF) 40 | MODDIR += -I$(CONDA_PREFIX)/include 41 | 42 | # Libraries to be passed to the linker 43 | SLIBS := -L$(CONDA_PREFIX)/lib -lnetcdf -lnetcdff -llapack 44 | 45 | # Necessary flag to compile with OpenMP support 46 | ifeq ($(ICE_THREADED), true) 47 | LDFLAGS += -fopenmp 48 | CFLAGS += -fopenmp 49 | FFLAGS += -fopenmp 50 | endif 51 | 52 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.boxchan1e: -------------------------------------------------------------------------------- 1 | days_per_year = 360 2 | use_leap_years = .false. 3 | npt_unit = 'd' 4 | npt = 5 5 | ice_ic = 'internal' 6 | restart_ext = .true. 7 | histfreq = 'd','1','x','x','x' 8 | grid_type = 'rectangular' 9 | kmt_type = 'channel_oneeast' 10 | dxrect = 16.e5 11 | dyrect = 16.e5 12 | ew_boundary_type = 'cyclic' 13 | ns_boundary_type = 'open' 14 | tr_iage = .false. 15 | tr_FY = .false. 16 | tr_lvl = .false. 17 | tr_pond_lvl = .false. 18 | ktherm = -1 19 | atmbndy = 'constant' 20 | atm_data_type = 'uniform_east' 21 | ocn_data_type = 'calm' 22 | ice_data_type = 'block' 23 | ice_data_conc = 'p5' 24 | ice_data_dist = 'uniform' 25 | calc_strair = .false. 26 | rotate_wind = .false. 27 | restore_ice = .false. 28 | tfrz_option = 'mushy' 29 | f_aice = 'd1' 30 | f_hi = 'd1' 31 | f_hs = 'd' 32 | f_Tsfc = 'd' 33 | f_uvel = 'd1' 34 | f_vvel = 'd1' 35 | f_uatm = 'd' 36 | f_vatm = 'd' 37 | f_uocn = 'd' 38 | f_vocn = 'd' 39 | f_strairx = 'd1' 40 | f_strairy = 'd1' 41 | f_strtltx = 'd1' 42 | f_strtlty = 'd1' 43 | f_strcorx = 'd1' 44 | f_strcory = 'd1' 45 | f_strocnx = 'd1' 46 | f_strocny = 'd1' 47 | f_strintx = 'd1' 48 | f_strinty = 'd1' 49 | f_taubx = 'd1' 50 | f_tauby = 'd1' 51 | f_divu = 'd1' 52 | f_sig1 = 'd1' 53 | f_sig2 = 'd1' 54 | f_sigP = 'd1' 55 | f_dvidtd = 'd1' 56 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.boxchan1n: -------------------------------------------------------------------------------- 1 | days_per_year = 360 2 | use_leap_years = .false. 3 | npt_unit = 'd' 4 | npt = 5 5 | ice_ic = 'internal' 6 | restart_ext = .true. 7 | histfreq = 'd','1','x','x','x' 8 | grid_type = 'rectangular' 9 | kmt_type = 'channel_onenorth' 10 | dxrect = 16.e5 11 | dyrect = 16.e5 12 | ew_boundary_type = 'open' 13 | ns_boundary_type = 'cyclic' 14 | tr_iage = .false. 15 | tr_FY = .false. 16 | tr_lvl = .false. 17 | tr_pond_lvl = .false. 18 | ktherm = -1 19 | atmbndy = 'constant' 20 | atm_data_type = 'uniform_north' 21 | ocn_data_type = 'calm' 22 | ice_data_type = 'block' 23 | ice_data_conc = 'p5' 24 | ice_data_dist = 'uniform' 25 | calc_strair = .false. 26 | rotate_wind = .false. 27 | restore_ice = .false. 28 | tfrz_option = 'mushy' 29 | f_aice = 'd1' 30 | f_hi = 'd1' 31 | f_hs = 'd' 32 | f_Tsfc = 'd' 33 | f_uvel = 'd1' 34 | f_vvel = 'd1' 35 | f_uatm = 'd' 36 | f_vatm = 'd' 37 | f_uocn = 'd' 38 | f_vocn = 'd' 39 | f_strairx = 'd1' 40 | f_strairy = 'd1' 41 | f_strtltx = 'd1' 42 | f_strtlty = 'd1' 43 | f_strcorx = 'd1' 44 | f_strcory = 'd1' 45 | f_strocnx = 'd1' 46 | f_strocny = 'd1' 47 | f_strintx = 'd1' 48 | f_strinty = 'd1' 49 | f_taubx = 'd1' 50 | f_tauby = 'd1' 51 | f_divu = 'd1' 52 | f_sig1 = 'd1' 53 | f_sig2 = 'd1' 54 | f_sigP = 'd1' 55 | f_dvidtd = 'd1' 56 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.bgczclim: -------------------------------------------------------------------------------- 1 | year_init = 2005 2 | istep0 = 0 3 | npt_unit = '1' 4 | npt = 168 5 | nblyr = 7 6 | n_aero = 0 7 | n_zaero = 3 8 | n_algae = 3 9 | n_doc = 2 10 | n_dic = 1 11 | n_don = 1 12 | n_fed = 1 13 | n_fep = 1 14 | ice_ic = 'none' 15 | tr_brine = .true. 16 | tr_aero = .false. 17 | tr_zaero = .true. 18 | z_tracers = .true. 19 | solve_zbgc = .true. 20 | scale_bgc = .true. 21 | tr_bgc_Nit = .true. 22 | tr_bgc_C = .true. 23 | tr_bgc_Am = .true. 24 | tr_bgc_Sil = .true. 25 | tr_bgc_DMS = .true. 26 | tr_bgc_PON = .true. 27 | tr_bgc_hum = .true. 28 | tr_bgc_DON = .true. 29 | tr_bgc_Fe = .true. 30 | # modal_aero = .true. 31 | # dEdd_algae = .true. 32 | tfrz_option = 'mushy' 33 | bgc_data_type = 'clim' 34 | # 35 | nslyr = 5 36 | tr_snow = .true. 37 | snwgrain = .true. 38 | use_smliq_pnd = .true. 39 | rsnw_fall = 54.526 40 | rsnw_tmax = 1500.0 41 | snw_aging_table = 'file' 42 | snw_filename = 'ICE_MACHINE_INPUTDATA/CICE_data/forcing/snicar_drdt_bst_fit_60_c04262019.nc' 43 | snw_tau_fname = 'snowEmpiricalGrowthParameterTau' 44 | snw_kappa_fname = 'snowEmpiricalGrowthParameterKappa' 45 | snw_drdt0_fname = 'snowPropertyRate' 46 | snw_rhos_fname = 'nGrainAgingSnowDensity' 47 | snw_Tgrd_fname = 'nGrainAgingTempGradient' 48 | snw_T_fname = 'nGrainAgingTemperature' 49 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.hobart_nag: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Makefile macros for NCAR hobart, NAG compiler 3 | #============================================================================== 4 | 5 | CPP := /usr/bin/cpp 6 | CPPFLAGS := -P -traditional 7 | CPPDEFS := -DFORTRANUNDERSCORE -DNO_R16 $(ICE_CPPDEFS) 8 | CFLAGS := -c -std=gnu99 9 | 10 | FIXEDFLAGS := -fixed 11 | FREEFLAGS := -free 12 | FFLAGS := -Wp,-macro=no_com -convert=BIG_ENDIAN -ieee=full -O2 -wmismatch=mpi_bcast,mpi_isend,mpi_irecv,mpi_send,mpi_recv,mpi_allreduce -gline 13 | 14 | FFLAGS_NOOPT:= -Wp,-macro=no_com -convert=BIG_ENDIAN -ieee=full -wmismatch=mpi_bcast,mpi_isend,mpi_irecv,mpi_send,mpi_recv,mpi_allreduce -gline 15 | FC_AUTO_R8 := -r8 16 | 17 | ifeq ($(ICE_BLDDEBUG), true) 18 | FFLAGS := -Wp,-macro=no_com -convert=BIG_ENDIAN -wmismatch=mpi_bcast,mpi_isend,mpi_irecv,mpi_send,mpi_recv,mpi_allreduce -gline -C=all -g -time -f2003 -ieee=stop 19 | endif 20 | 21 | SCC := cc 22 | SFC := nagfor 23 | MPICC := mpicc 24 | MPIFC := mpif90 25 | 26 | ifeq ($(ICE_COMMDIR), mpi) 27 | FC := $(MPIFC) 28 | CC := $(MPICC) 29 | else 30 | FC := $(SFC) 31 | CC := $(SCC) 32 | endif 33 | LD:= $(FC) 34 | 35 | INCLDIR := -I$(NETCDF_PATH)/include -I$(MPI_PATH)/include 36 | 37 | LIB_NETCDF := $(NETCDF_PATH)/lib 38 | LIB_PNETCDF := $(PNETCDF_PATH)/lib 39 | LIB_MPI := $(IMPILIBDIR) 40 | 41 | SLIBS := -L/usr/local/nag-6.2/lib/NAG_Fortran -L$(LIB_NETCDF) -lnetcdf -lnetcdff -L/usr/lib64 -llapack -lblas 42 | 43 | -------------------------------------------------------------------------------- /configuration/scripts/machines/Macros.perlmutter_cray: -------------------------------------------------------------------------------- 1 | #============================================================================== 2 | # Macros file for NERSC perlmutter, cray compiler 3 | #============================================================================== 4 | 5 | CPP := ftn -e P 6 | CPPDEFS := -DFORTRANUNDERSCORE -DNO_R16 ${ICE_CPPDEFS} 7 | CFLAGS := -c -O2 8 | 9 | FIXEDFLAGS := -132 10 | FREEFLAGS := 11 | FFLAGS := -hbyteswapio 12 | FFLAGS_NOOPT:= -O0 13 | LDFLAGS := -hbyteswapio 14 | 15 | ifeq ($(ICE_BLDDEBUG), true) 16 | FFLAGS += -O0 -hfp0 -g -Rbcdps -Ktrap=fp 17 | else 18 | FFLAGS += -O2 -hfp0 # -eo 19 | endif 20 | 21 | SCC := cc 22 | SFC := ftn 23 | MPICC := cc 24 | MPIFC := ftn 25 | 26 | ifeq ($(ICE_COMMDIR), mpi) 27 | FC := $(MPIFC) 28 | CC := $(MPICC) 29 | else 30 | FC := $(SFC) 31 | CC := $(SCC) 32 | endif 33 | LD:= $(FC) 34 | 35 | # defined by module 36 | #NETCDF_PATH := $(NETCDF) 37 | #PNETCDF_PATH := $(PNETCDF) 38 | #PNETCDF_PATH := /glade/apps/opt/pnetcdf/1.3.0/intel/default 39 | #LAPACK_LIBDIR := /glade/apps/opt/lapack/3.4.2/intel/12.1.5/lib 40 | 41 | #PIO_CONFIG_OPTS:= --enable-filesystem-hints=gpfs 42 | 43 | INCLDIR := $(INCLDIR) 44 | #INCLDIR += -I$(NETCDF_PATH)/include 45 | 46 | #LIB_NETCDF := $(NETCDF_PATH)/lib 47 | #LIB_PNETCDF := $(PNETCDF_PATH)/lib 48 | #LIB_MPI := $(IMPILIBDIR) 49 | #SLIBS := -L$(LIB_NETCDF) -lnetcdf -lnetcdff 50 | 51 | ifeq ($(ICE_THREADED), true) 52 | LDFLAGS += -fopenmp 53 | CFLAGS += -fopenmp 54 | FFLAGS += -fopenmp 55 | endif 56 | 57 | -------------------------------------------------------------------------------- /configuration/scripts/options/set_nml.boxnodyn: -------------------------------------------------------------------------------- 1 | nilyr = 1 2 | ice_ic = 'internal' 3 | days_per_year = 360 4 | use_leap_years = .false. 5 | npt_unit = '1' 6 | npt = 72 7 | dumpfreq = 'd' 8 | dumpfreq_n = 2 9 | histfreq = 'd','x','x','x','x' 10 | histfreq_n = 2,1,1,1,1 11 | f_aice = 'd' 12 | f_uvel = 'd' 13 | f_vvel = 'd' 14 | f_uatm = 'd' 15 | f_vatm = 'd' 16 | f_uocn = 'd' 17 | f_vocn = 'd' 18 | f_strairx = 'd' 19 | f_strairy = 'd' 20 | f_strtltx = 'd' 21 | f_strtlty = 'd' 22 | f_strcorx = 'd' 23 | f_strcory = 'd' 24 | f_strocnx = 'd' 25 | f_strocny = 'd' 26 | f_strintx = 'd' 27 | f_strinty = 'd' 28 | f_taubx = 'd' 29 | f_tauby = 'd' 30 | f_strength = 'd' 31 | f_divu = 'd' 32 | f_shear = 'd' 33 | f_sig1 = 'd' 34 | f_sig2 = 'd' 35 | f_sigP = 'd' 36 | kcatbound = 0 37 | ew_boundary_type = 'open' 38 | ns_boundary_type = 'open' 39 | tr_iage = .false. 40 | tr_FY = .false. 41 | tr_lvl = .false. 42 | tr_pond_topo = .false. 43 | tr_pond_lvl = .false. 44 | tr_aero = .false. 45 | kitd = 0 46 | ktherm = 1 47 | hi_min = 0.1d0 48 | kdyn = 1 49 | revised_evp = .false. 50 | kstrength = 1 51 | krdg_partic = 1 52 | krdg_redist = 1 53 | seabed_stress = .true. 54 | atm_data_type = 'calm' 55 | ocn_data_type = 'calm' 56 | ice_data_type = 'box2001' 57 | ice_data_conc = 'box2001' 58 | ice_data_dist = 'box2001' 59 | shortwave = 'ccsm3' 60 | albedo_type = 'constant' 61 | -------------------------------------------------------------------------------- /configuration/scripts/tests/cice.lcov.csh: -------------------------------------------------------------------------------- 1 | 2 | #--- cice.lcov.csh --- 3 | 4 | echo ${lcovalist} 5 | lcov ${lcovalist} -o total.info 6 | 7 | set lcovrepo = apcraig.github.io 8 | set lcovhtmldir = lcov_cice_${report_name} 9 | genhtml -o ./${lcovhtmldir} --precision 2 -t "${report_name}" total.info 10 | 11 | rm -r -f ${lcovrepo} 12 | git clone --depth=1 https://github.com/apcraig/${lcovrepo} 13 | cp -p -r ${lcovhtmldir} ${lcovrepo}/ 14 | 15 | cd ${lcovrepo} 16 | set covp0 = `grep message coverage.json | cut -d : -f 2 | cut -d \" -f 2 | cut -d % -f 1` 17 | set covp = `grep -i headerCovTableEntry ${lcovhtmldir}/index.html | grep % | head -1 | cut -d \> -f 2 | cut -d \& -f 1` 18 | set covpi = `echo $covp | cut -d . -f 1` 19 | 20 | set lcovhtmlname = "${covpi}%:${report_name}" 21 | set oline = `grep -n "add_cice_entry_here" index.html | head -1 | cut -d : -f 1` 22 | @ nline = ${oline} 23 | sed -i "$nline a
  • ${lcovhtmlname}
  • " index.html 24 | 25 | set covpcolor = red 26 | if (${covpi} > 50) set covpcolor = orange 27 | if (${covpi} > 60) set covpcolor = yellow 28 | if (${covpi} > 70) set covpcolor = yellowgreen 29 | if (${covpi} > 80) set covpcolor = green 30 | if (${covpi} > 90) set covpcolor = brightgreen 31 | 32 | cp coverage.json coverage.json.old 33 | cat >! coverage.json <& /dev/null 12 | set ssmuse=`which ssmuse-csh` 13 | # Intel compiler + Intel MPI 14 | source $ssmuse -d /fs/ssm/main/opt/intelcomp/inteloneapi-2022.1.2/intelcomp+mpi+mkl 15 | # source /etc/profile.d/modules.csh 16 | # module use /home/sice500/modulefiles 17 | # setenv I_MPI_LIBRARY_KIND debug 18 | # module load -s icc mpi 19 | setenv FOR_DUMP_CORE_FILE 1 20 | setenv I_MPI_DEBUG_COREDUMP 1 21 | # Reproducible collectives 22 | if (${ICE_BASEGEN} != ${ICE_SPVAL} || ${ICE_BASECOM} != ${ICE_SPVAL}) then 23 | setenv I_MPI_CBWR 1 24 | endif 25 | # Stop being buggy 26 | setenv I_MPI_FABRICS ofi 27 | # NetCDF 28 | source $ssmuse -d main/opt/hdf5-netcdf4/serial/shared/inteloneapi-2022.1.2/01 29 | 30 | # OpenMP 31 | setenv OMP_STACKSIZE 64M 32 | 33 | endif 34 | 35 | setenv ICE_MACHINE_MACHNAME ppp5 36 | setenv ICE_MACHINE_ENVNAME intel 37 | setenv ICE_MACHINE_MAKE make 38 | setenv ICE_MACHINE_WKDIR ~/data/ppp5/cice/runs/ 39 | setenv ICE_MACHINE_INPUTDATA /space/hall5/sitestore/eccc/cmd/e/sice500/ 40 | setenv ICE_MACHINE_BASELINE ~/data/ppp5/cice/baselines/ 41 | setenv ICE_MACHINE_MAXRUNLENGTH 6 42 | setenv ICE_MACHINE_SUBMIT qsub 43 | setenv ICE_MACHINE_TPNODE 80 44 | setenv ICE_MACHINE_ACCT unused 45 | setenv ICE_MACHINE_QUEUE development 46 | setenv ICE_MACHINE_BLDTHRDS 40 47 | setenv ICE_MACHINE_QSTAT qstat 48 | --------------------------------------------------------------------------------