diff --git a/cicecore/cicedyn/general/ice_init.F90 b/cicecore/cicedyn/general/ice_init.F90 index 5cbaedcb6..91293db42 100644 --- a/cicecore/cicedyn/general/ice_init.F90 +++ b/cicecore/cicedyn/general/ice_init.F90 @@ -1267,7 +1267,7 @@ subroutine input_data endif abort_list = trim(abort_list)//":1" endif - + if (history_format /= 'cdf1' .and. & history_format /= 'cdf2' .and. & history_format /= 'cdf5' .and. & diff --git a/cicecore/cicedyn/infrastructure/ice_grid.F90 b/cicecore/cicedyn/infrastructure/ice_grid.F90 index 53082aeaf..a1dee3e33 100644 --- a/cicecore/cicedyn/infrastructure/ice_grid.F90 +++ b/cicecore/cicedyn/infrastructure/ice_grid.F90 @@ -351,12 +351,12 @@ subroutine init_grid1 trim(grid_type) == 'regional' ) then if (trim(grid_format) == 'nc') then - + fieldname='ulat' call ice_open_nc(grid_file,fid_grid) call ice_read_global_nc(fid_grid,1,fieldname,work_g1,.true.) call ice_close_nc(fid_grid) - + ! mask variable name might be kmt or mask, check both call ice_open_nc(kmt_file,fid_kmt) #ifdef USE_NETCDF @@ -364,7 +364,7 @@ subroutine init_grid1 status = nf90_inq_varid(fid_kmt, 'kmt', varid) if (status == nf90_noerr) then mask_fieldname = 'kmt' - else + else status = nf90_inq_varid(fid_kmt, 'mask', varid) call ice_check_nc(status, subname//' ERROR: does '//trim(kmt_file)//& ' contain "kmt" or "mask" variable?', file=__FILE__, line=__LINE__) @@ -671,7 +671,7 @@ subroutine init_grid2 enddo enddo !$OMP END PARALLEL DO - endif + endif if (trim(grid_type) == 'regional' .and. & (.not. (l_readCenter))) then @@ -799,7 +799,7 @@ subroutine kmtmask enddo enddo !$OMP END PARALLEL DO - + if (my_task == master_task) then close (nu_kmt) endif @@ -888,14 +888,14 @@ subroutine kmtmask_nc i, j, iblk, & ilo,ihi,jlo,jhi, & ! beginning and end of physical domain fid_kmt ! file id for netCDF kmt file - + logical (kind=log_kind) :: diag real (kind=dbl_kind), dimension (nx_block,ny_block,max_blocks) :: & work1 type (block) :: & - this_block ! block information for current block + this_block ! block information for current block character(len=*), parameter :: subname = '(kmtmask_nc)' @@ -905,7 +905,7 @@ subroutine kmtmask_nc kmt(:,:,:) = c0 call ice_open_nc(kmt_file,fid_kmt) - + call ice_read_nc(fid_kmt,1,mask_fieldname,kmt,diag, & field_loc=field_loc_center, & field_type=field_type_scalar) @@ -968,7 +968,7 @@ subroutine popgrid_nc work_g1 integer(kind=int_kind) :: & - varid, status + varid, status character(len=*), parameter :: subname = '(popgrid_nc)' @@ -981,7 +981,7 @@ subroutine popgrid_nc call ice_open_nc(grid_file,fid_grid) diag = .true. ! write diagnostic info - + !----------------------------------------------------------------- ! lat, lon, angle !----------------------------------------------------------------- diff --git a/cicecore/drivers/nuopc/cmeps/ice_prescribed_mod.F90 b/cicecore/drivers/nuopc/cmeps/ice_prescribed_mod.F90 index f27c34fdd..7113fa915 100644 --- a/cicecore/drivers/nuopc/cmeps/ice_prescribed_mod.F90 +++ b/cicecore/drivers/nuopc/cmeps/ice_prescribed_mod.F90 @@ -6,7 +6,7 @@ module ice_prescribed_mod ! prescribed. Air/ice fluxes are computed to get surface temperature, ! Ice/ocean fluxes are set to zero, and ice dynamics are not calculated. ! Regridding and data cycling capabilities are included. - + ! Note (8/8/2024): This code is dependent on CDEPS (to input ice data). ! In the interests of cleaner code, drivers/nuopc/cmeps now is too. ! If problematic, please see https://github.com/CICE-Consortium/CICE/pull/964 for alternatives. @@ -215,7 +215,7 @@ subroutine ice_prescribed_init(gcomp, clock, mesh, rc) ! If need initial cice values for coupling call ice_prescribed_run(idate, msec) #endif - + end if ! end of if prescribed ice mode end subroutine ice_prescribed_init diff --git a/cicecore/drivers/nuopc/cmeps/ice_shr_methods.F90 b/cicecore/drivers/nuopc/cmeps/ice_shr_methods.F90 index 94a2f8b23..0a3a72840 100644 --- a/cicecore/drivers/nuopc/cmeps/ice_shr_methods.F90 +++ b/cicecore/drivers/nuopc/cmeps/ice_shr_methods.F90 @@ -926,7 +926,7 @@ subroutine alarmInit( clock, alarm, option, & if (chkerr(rc,__LINE__,u_FILE_u)) return call ESMF_ClockGetAlarm(clock, alarmname="alarm_stop", alarm=alarm, rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return - call ESMF_AlarmGet(alarm, ringTime=NextAlarm, rc=rc) + call ESMF_AlarmGet(alarm, ringTime=NextAlarm, rc=rc) if (ChkErr(rc,__LINE__,u_FILE_u)) return case default diff --git a/configuration/scripts/machines/env.perlmutter_cray b/configuration/scripts/machines/env.perlmutter_cray index 04ee3ce94..e1a9b9e14 100644 --- a/configuration/scripts/machines/env.perlmutter_cray +++ b/configuration/scripts/machines/env.perlmutter_cray @@ -18,16 +18,16 @@ source ${MODULESHOME}/init/csh module load cpu module load PrgEnv-cray module unload cce -module load cce/15.0.1 +module load cce/17.0.0 module unload cray-mpich -module load cray-mpich/8.1.25 +module load cray-mpich/8.1.28 module unload cray-netcdf module unload cray-hdf5 -module load cray-hdf5/1.12.2.3 -module load cray-netcdf/4.9.0.3 +module load cray-hdf5/1.12.2.9 +module load cray-netcdf/4.9.0.9 -setenv NETCDF_PATH ${NETCDF_DIR} +#setenv NETCDF_PATH ${NETCDF_DIR} limit coredumpsize unlimited limit stacksize unlimited setenv OMP_STACKSIZE 128M @@ -38,7 +38,7 @@ endif setenv ICE_MACHINE_MACHNAME perlmutter setenv ICE_MACHINE_MACHINFO "HPE Cray EX AMD EPYC 7763 Milan, Slingshot-11 Interconnect" setenv ICE_MACHINE_ENVNAME cray -setenv ICE_MACHINE_ENVINFO "Cray clang/Fortran 15.0.1, cray-mpich/8.1.25, netcdf/4.9.0.3" +setenv ICE_MACHINE_ENVINFO "Cray clang/Fortran 17.0.0, cray-mpich/8.1.28, netcdf/4.9.0.9" setenv ICE_MACHINE_MAKE gmake setenv ICE_MACHINE_WKDIR $SCRATCH/CICE_RUNS setenv ICE_MACHINE_INPUTDATA /global/cfs/cdirs/e3sm/tcraig/cice-consortium diff --git a/configuration/scripts/machines/env.perlmutter_gnu b/configuration/scripts/machines/env.perlmutter_gnu index 42e510e55..8f4ce910c 100644 --- a/configuration/scripts/machines/env.perlmutter_gnu +++ b/configuration/scripts/machines/env.perlmutter_gnu @@ -15,19 +15,21 @@ source ${MODULESHOME}/init/csh #module unload PrgEnv-intel #module unload PrgEnv-nvidia #module unload gpu +module unload darshan module load cpu -module load PrgEnv-gnu +module load PrgEnv-gnu/8.5.0 module unload gcc -module load gcc/11.2.0 +module unload gcc-native +module load gcc-native/12.3 module unload cray-mpich -module load cray-mpich/8.1.25 +module load cray-mpich/8.1.28 module unload cray-netcdf module unload cray-hdf5 -module load cray-hdf5/1.12.2.3 -module load cray-netcdf/4.9.0.3 +module load cray-hdf5/1.12.2.9 +module load cray-netcdf/4.9.0.9 -setenv NETCDF_PATH ${NETCDF_DIR} +#setenv NETCDF_PATH ${NETCDF_DIR} limit coredumpsize unlimited limit stacksize unlimited setenv OMP_STACKSIZE 128M @@ -38,7 +40,7 @@ endif setenv ICE_MACHINE_MACHNAME perlmutter setenv ICE_MACHINE_MACHINFO "HPE Cray EX AMD EPYC 7763 Milan, Slingshot-11 Interconnect" setenv ICE_MACHINE_ENVNAME gnu -setenv ICE_MACHINE_ENVINFO "gnu c/fortran 11.2.0 20210728, cray-mpich/8.1.25, netcdf/4.9.0.3" +setenv ICE_MACHINE_ENVINFO "gnu c/fortran 12.3.0, cray-mpich/8.1.28, netcdf/4.9.0.9" setenv ICE_MACHINE_MAKE gmake setenv ICE_MACHINE_WKDIR $SCRATCH/CICE_RUNS setenv ICE_MACHINE_INPUTDATA /global/cfs/cdirs/e3sm/tcraig/cice-consortium diff --git a/configuration/scripts/machines/env.perlmutter_intel b/configuration/scripts/machines/env.perlmutter_intel index 7ecdc0f96..32b022d9a 100644 --- a/configuration/scripts/machines/env.perlmutter_intel +++ b/configuration/scripts/machines/env.perlmutter_intel @@ -16,18 +16,18 @@ source ${MODULESHOME}/init/csh #module unload PrgEnv-nvidia #module unload gpu module load cpu -module load PrgEnv-intel +module load PrgEnv-intel/8.5.0 module unload intel -module load intel/2023.1.0 +module load intel/2023.2.0 module unload cray-mpich -module load cray-mpich/8.1.25 +module load cray-mpich/8.1.28 module unload cray-netcdf module unload cray-hdf5 -module load cray-hdf5/1.12.2.3 -module load cray-netcdf/4.9.0.3 +module load cray-hdf5/1.12.2.9 +module load cray-netcdf/4.9.0.9 -setenv NETCDF_PATH ${NETCDF_DIR} +#setenv NETCDF_PATH ${NETCDF_DIR} limit coredumpsize unlimited limit stacksize unlimited setenv OMP_STACKSIZE 128M @@ -38,7 +38,7 @@ endif setenv ICE_MACHINE_MACHNAME perlmutter setenv ICE_MACHINE_MACHINFO "HPE Cray EX AMD EPYC 7763 Milan, Slingshot-11 Interconnect" setenv ICE_MACHINE_ENVNAME intel -setenv ICE_MACHINE_ENVINFO "ifort 2021.9.0 20230302, Intel oneAPI DPC++/C++ 2023.1.0 (2023.1.0.20230320), cray-mpich/8.1.25, netcdf/4.9.0.3" +setenv ICE_MACHINE_ENVINFO "ifort 2021.10.0 20230609, Intel oneAPI DPC++/C++ Compiler 2023.2.0 (2023.2.0.20230622)), cray-mpich/8.1.28, netcdf/4.9.0.9" setenv ICE_MACHINE_MAKE gmake setenv ICE_MACHINE_WKDIR $SCRATCH/CICE_RUNS setenv ICE_MACHINE_INPUTDATA /global/cfs/cdirs/e3sm/tcraig/cice-consortium diff --git a/icepack b/icepack index 379252056..fa56e7e38 160000 --- a/icepack +++ b/icepack @@ -1 +1 @@ -Subproject commit 3792520561cf9419082ef41f9f0dffd03edf2e43 +Subproject commit fa56e7e387b1cf8f4de1d9b488386ef15249cbac