From c21d34b373135c1890a56cbca171f06cbd9c2fae Mon Sep 17 00:00:00 2001 From: apcraig Date: Sun, 22 Sep 2019 12:30:58 -0400 Subject: [PATCH 1/3] merge ice_dyn_evp_1d modules and update ice_dyn_evp_1d interface names. Add get_bathymetry_popfile from RASM --- .../cicedynB/analysis/ice_diagnostics.F90 | 2 + cicecore/cicedynB/dynamics/ice_dyn_evp.F90 | 9 +- cicecore/cicedynB/dynamics/ice_dyn_evp_1d.F90 | 204 +++++++++++------- cicecore/cicedynB/infrastructure/ice_grid.F90 | 102 ++++++++- 4 files changed, 229 insertions(+), 88 deletions(-) diff --git a/cicecore/cicedynB/analysis/ice_diagnostics.F90 b/cicecore/cicedynB/analysis/ice_diagnostics.F90 index 4557b4075..5f8c56264 100644 --- a/cicecore/cicedynB/analysis/ice_diagnostics.F90 +++ b/cicecore/cicedynB/analysis/ice_diagnostics.F90 @@ -124,6 +124,7 @@ subroutine runtime_diags (dt) use ice_global_reductions, only: global_sum, global_sum_prod, global_maxval use ice_grid, only: lmask_n, lmask_s, tarean, tareas use ice_state ! everything +! tcraig, this is likely to cause circular dependency because ice_prescribed_mod is high level routine #ifdef CESMCOUPLED use ice_prescribed_mod, only: prescribed_ice #endif @@ -839,6 +840,7 @@ subroutine runtime_diags (dt) if (print_global) then ! global diags for conservations checks +! tcraig, this is likely to cause circular dependency because ice_prescribed_mod is high level routine #ifdef CESMCOUPLED if (prescribed_ice) then write (nu_diag,*) '----------------------------' diff --git a/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 b/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 index 34ba5b002..002341667 100644 --- a/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 +++ b/cicecore/cicedynB/dynamics/ice_dyn_evp.F90 @@ -92,7 +92,8 @@ subroutine evp (dt) aice_init, aice0, aicen, vicen, strength use ice_timers, only: timer_dynamics, timer_bound, & ice_timer_start, ice_timer_stop, timer_evp_1d, timer_evp_2d - use ice_dyn_evp_1d + use ice_dyn_evp_1d, only: ice_dyn_evp_1d_copyin, ice_dyn_evp_1d_kernel, & + ice_dyn_evp_1d_copyout use ice_dyn_shared, only: kevp_kernel real (kind=dbl_kind), intent(in) :: & @@ -353,7 +354,7 @@ subroutine evp (dt) call abort_ice(trim(subname)//' & & Kernel not tested on tripole grid. Set kevp_kernel=0') endif - call evp_copyin( & + call ice_dyn_evp_1d_copyin( & nx_block,ny_block,nblocks,nx_global+2*nghost,ny_global+2*nghost, & HTE,HTN, & !v1 dxhy,dyhx,cyp,cxp,cym,cxm,tinyarea, & @@ -367,7 +368,7 @@ subroutine evp (dt) stress12_1,stress12_2,stress12_3,stress12_4 ) if (kevp_kernel == 2) then call ice_timer_start(timer_evp_1d) - call evp_kernel_v2() + call ice_dyn_evp_1d_kernel() call ice_timer_stop(timer_evp_1d) !v1 else if (kevp_kernel == 1) then !v1 call evp_kernel_v1() @@ -375,7 +376,7 @@ subroutine evp (dt) if (my_task == 0) write(nu_diag,*) subname,' ERROR: kevp_kernel = ',kevp_kernel call abort_ice(subname//' kevp_kernel not supported.') endif - call evp_copyout( & + call ice_dyn_evp_1d_copyout( & nx_block,ny_block,nblocks,nx_global+2*nghost,ny_global+2*nghost,& !strocn uvel,vvel, strocnx,strocny, strintx,strinty, & uvel,vvel, strintx,strinty, & diff --git a/cicecore/cicedynB/dynamics/ice_dyn_evp_1d.F90 b/cicecore/cicedynB/dynamics/ice_dyn_evp_1d.F90 index e82b12fd1..794cd57b8 100644 --- a/cicecore/cicedynB/dynamics/ice_dyn_evp_1d.F90 +++ b/cicecore/cicedynB/dynamics/ice_dyn_evp_1d.F90 @@ -1,9 +1,11 @@ ! ice_dyn_evp_1d ! -! Contains 3 Fortran modules, +! Contained 3 Fortran modules, ! * dmi_omp ! * bench_v2 ! * ice_dyn_evp_1d +! These were merged into one module, ice_dyn_evp_1d to support some +! coupled build systems. ! ! Modules used for: ! * convert 2D arrays into 1D vectors @@ -11,9 +13,9 @@ ! * convert 1D vectors into 2D matrices ! ! Call from ice_dyn_evp.F90: -! call evp_copyin(...) -! call evp_kernel() -! call evp_copyout(...) +! call ice_dyn_evp_1d_copyin(...) +! call ice_dyn_evp_1d_kernel() +! call ice_dyn_evp_1d_copyout(...) ! ! * REAL4 internal version: ! mv evp_kernel1d.F90 evp_kernel1d_r8.F90 @@ -27,7 +29,9 @@ !=============================================================================== !=============================================================================== -module dmi_omp + +!-- One dimension representation of EVP 2D arrays used for EVP kernels +module ice_dyn_evp_1d use ice_kinds_mod use ice_fileunits, only: nu_diag @@ -35,14 +39,59 @@ module dmi_omp implicit none private - public :: domp_init, domp_get_domain, domp_get_thread_no + public :: ice_dyn_evp_1d_copyin, ice_dyn_evp_1d_copyout, ice_dyn_evp_1d_kernel + + interface ice_dyn_evp_1d_copyin +! module procedure evp_copyin_v1 + module procedure evp_copyin_v2 + end interface + + interface ice_dyn_evp_1d_kernel +! module procedure evp_kernel_v1 + module procedure evp_kernel_v2 + end interface + + interface ice_dyn_evp_1d_copyout + module procedure evp_copyout + end interface + + interface convert_2d_1d +! module procedure convert_2d_1d_v1 + module procedure convert_2d_1d_v2 + end interface + integer(kind=int_kind) :: & + NA_len, NAVEL_len + logical(kind=log_kind), dimension(:), allocatable :: & + skipucell + integer(kind=int_kind), dimension(:), allocatable :: & + ee,ne,se,nw,sw,sse,indi,indj,indij , halo_parent + real (kind=dbl_kind), dimension(:), allocatable :: & + cdn_ocn,aiu,uocn,vocn,forcex,forcey,Tbu,tarear, & + umassdti,fm,uarear,strintx,strinty,uvel_init,vvel_init + real (kind=dbl_kind), dimension(:), allocatable :: & + strength,uvel,vvel,dxt,dyt, & +!v1 dxhy,dyhx,cyp,cxp,cym,cxm,tinyarea, & +!v1 waterx,watery, & + stressp_1, stressp_2, stressp_3, stressp_4, & + stressm_1, stressm_2, stressm_3, stressm_4, & + stress12_1,stress12_2,stress12_3,stress12_4, & + divu,rdg_conv,rdg_shear,shear,taubx,tauby + real (kind=DBL_KIND), dimension(:), allocatable :: & + str1, str2, str3, str4, str5, str6, str7, str8 + real (kind=dbl_kind), dimension(:), allocatable :: & + HTE,HTN, & + HTEm1,HTNm1 + logical(kind=log_kind),parameter :: dbug = .false. + + +!--- dmi_omp --------------------------- interface domp_get_domain module procedure domp_get_domain_rlu end interface INTEGER, PARAMETER :: JPIM = SELECTED_INT_KIND(9) - integer(int_kind), private :: domp_iam, domp_nt + integer(int_kind) :: domp_iam, domp_nt #if defined (_OPENMP) ! Please note, this constant will create a compiler info for a constant @@ -50,8 +99,47 @@ module dmi_omp real(kind=dbl_kind) :: rdomp_iam, rdomp_nt !$OMP THREADPRIVATE(domp_iam,domp_nt,rdomp_iam,rdomp_nt) #endif +!--- dmi_omp --------------------------- -contains +!--- bench_v2 -------------------------- + interface evp1d_stress + module procedure stress_i + module procedure stress_l + end interface + interface evp1d_stepu + module procedure stepu_iter + module procedure stepu_last + end interface +!--- bench_v2 -------------------------- + + contains + +!=============================================================================== +!module dmi_omp + +! use ice_kinds_mod +! use ice_fileunits, only: nu_diag +! use ice_exit, only: abort_ice + +! implicit none +! private +! public :: domp_init, domp_get_domain, domp_get_thread_no + +! interface domp_get_domain +! module procedure domp_get_domain_rlu +! end interface + +! INTEGER, PARAMETER :: JPIM = SELECTED_INT_KIND(9) +! integer(int_kind), private :: domp_iam, domp_nt + +!#if defined (_OPENMP) +! ! Please note, this constant will create a compiler info for a constant +! ! expression in IF statements: +! real(kind=dbl_kind) :: rdomp_iam, rdomp_nt +! !$OMP THREADPRIVATE(domp_iam,domp_nt,rdomp_iam,rdomp_nt) +!#endif + +!contains !---------------------------------------------------------------------------- @@ -60,7 +148,6 @@ subroutine domp_init(nt_out) #if defined (_OPENMP) use omp_lib, only : omp_get_thread_num, omp_get_num_threads #endif - use ice_forcing, only : dbug integer(int_kind), intent(out) :: nt_out @@ -165,30 +252,29 @@ end subroutine domp_get_thread_no !---------------------------------------------------------------------------- -end module dmi_omp +!end module dmi_omp -!=============================================================================== !=============================================================================== -module bench_v2 +!module bench_v2 - use ice_fileunits, only: nu_diag - use ice_exit, only: abort_ice +! use ice_fileunits, only: nu_diag +! use ice_exit, only: abort_ice - implicit none - private - public :: evp1d_stress, evp1d_stepu, evp1d_halo_update +! implicit none +! private +! public :: evp1d_stress, evp1d_stepu, evp1d_halo_update - interface evp1d_stress - module procedure stress_i - module procedure stress_l - end interface - interface evp1d_stepu - module procedure stepu_iter - module procedure stepu_last - end interface +! interface evp1d_stress +! module procedure stress_i +! module procedure stress_l +! end interface +! interface evp1d_stepu +! module procedure stepu_iter +! module procedure stepu_last +! end interface - contains +! contains !---------------------------------------------------------------------------- @@ -201,7 +287,7 @@ subroutine stress_i(NA_len, & str6,str7,str8) use ice_kinds_mod - use dmi_omp, only : domp_get_domain +! use dmi_omp, only : domp_get_domain use ice_constants, only: p027, p055, p111, p166, p222, p25, p333, p5, c1p5, c1 use icepack_parameters, only: puny use ice_dyn_shared, only: ecci, denom1, arlx1i, Ktens, revp @@ -467,7 +553,7 @@ subroutine stress_l(NA_len, tarear, & str1,str2,str3,str4,str5,str6,str7,str8 ) use ice_kinds_mod - use dmi_omp, only : domp_get_domain +! use dmi_omp, only : domp_get_domain use ice_constants, only: p027, p055, p111, p166, p222, p25, p333, p5, c1p5, c0, c1 use icepack_parameters, only: puny use ice_dyn_shared, only: ecci, denom1, arlx1i, Ktens, revp @@ -736,7 +822,7 @@ subroutine stepu_iter(NA_len,rhow, & str1,str2,str3,str4,str5,str6,str7,str8, nw,sw,se,skipme) use ice_kinds_mod - use dmi_omp, only : domp_get_domain +! use dmi_omp, only : domp_get_domain use ice_dyn_shared, only: brlx, revp use ice_constants, only: c0, c1 @@ -827,7 +913,7 @@ subroutine stepu_last(NA_len, rhow, & str1,str2,str3,str4,str5,str6,str7,str8, nw,sw,se,skipme) use ice_kinds_mod - use dmi_omp, only : domp_get_domain +! use dmi_omp, only : domp_get_domain use ice_constants, only: c0, c1 use icepack_parameters, only: puny use ice_dyn_shared, only: brlx, revp, basalstress @@ -920,7 +1006,7 @@ end subroutine stepu_last subroutine evp1d_halo_update(NAVEL_len,lb,ub,uvel,vvel, halo_parent) use ice_kinds_mod - use dmi_omp, only : domp_get_domain +! use dmi_omp, only : domp_get_domain implicit none @@ -957,56 +1043,9 @@ end subroutine evp1d_halo_update !---------------------------------------------------------------------------- -end module bench_v2 +!end module bench_v2 !=============================================================================== -!=============================================================================== - -!-- One dimension representation of EVP 2D arrays used for EVP kernels -module ice_dyn_evp_1d - - use ice_kinds_mod - use ice_fileunits, only: nu_diag - use ice_exit, only: abort_ice - - implicit none - private - public :: evp_copyin, evp_copyout, evp_kernel_v2 - - interface evp_copyin -! module procedure evp_copyin_v1 - module procedure evp_copyin_v2 - end interface - interface convert_2d_1d -! module procedure convert_2d_1d_v1 - module procedure convert_2d_1d_v2 - end interface - - integer(kind=int_kind) :: & - NA_len, NAVEL_len - logical(kind=log_kind), dimension(:), allocatable :: & - skipucell - integer(kind=int_kind), dimension(:), allocatable :: & - ee,ne,se,nw,sw,sse,indi,indj,indij , halo_parent - real (kind=dbl_kind), dimension(:), allocatable :: & - cdn_ocn,aiu,uocn,vocn,forcex,forcey,Tbu,tarear, & - umassdti,fm,uarear,strintx,strinty,uvel_init,vvel_init - real (kind=dbl_kind), dimension(:), allocatable :: & - strength,uvel,vvel,dxt,dyt, & -!v1 dxhy,dyhx,cyp,cxp,cym,cxm,tinyarea, & -!v1 waterx,watery, & - stressp_1, stressp_2, stressp_3, stressp_4, & - stressm_1, stressm_2, stressm_3, stressm_4, & - stress12_1,stress12_2,stress12_3,stress12_4, & - divu,rdg_conv,rdg_shear,shear,taubx,tauby - real (kind=DBL_KIND), dimension(:), allocatable :: & - str1, str2, str3, str4, str5, str6, str7, str8 - real (kind=dbl_kind), dimension(:), allocatable :: & - HTE,HTN, & - HTEm1,HTNm1 - - contains - !---------------------------------------------------------------------------- subroutine alloc1d(na) @@ -1407,8 +1446,8 @@ subroutine evp_kernel_v2 use ice_constants, only : c0 use ice_dyn_shared, only: ndte - use bench_v2, only : evp1d_stress, evp1d_stepu, evp1d_halo_update - use dmi_omp, only : domp_init +! use bench_v2, only : evp1d_stress, evp1d_stepu, evp1d_halo_update +! use dmi_omp, only : domp_init use icepack_intfc, only: icepack_query_parameters use ice_communicate, only: my_task, master_task implicit none @@ -2043,7 +2082,7 @@ end subroutine findXinY_halo subroutine numainit(l,u,uu) - use dmi_omp, only : domp_get_domain +! use dmi_omp, only : domp_get_domain use ice_constants, only: c0 implicit none @@ -2127,6 +2166,7 @@ subroutine numainit(l,u,uu) end subroutine numainit !---------------------------------------------------------------------------- +!=============================================================================== end module ice_dyn_evp_1d diff --git a/cicecore/cicedynB/infrastructure/ice_grid.F90 b/cicecore/cicedynB/infrastructure/ice_grid.F90 index 35c3003a4..7aa967a6c 100644 --- a/cicecore/cicedynB/infrastructure/ice_grid.F90 +++ b/cicecore/cicedynB/infrastructure/ice_grid.F90 @@ -15,18 +15,21 @@ module ice_grid use ice_kinds_mod + use ice_broadcast, only: broadcast_scalar, broadcast_array use ice_boundary, only: ice_HaloUpdate, ice_HaloExtrapolate use ice_communicate, only: my_task, master_task use ice_blocks, only: block, get_block, nx_block, ny_block, nghost use ice_domain_size, only: nx_global, ny_global, max_blocks use ice_domain, only: blocks_ice, nblocks, halo_info, distrb_info, & ew_boundary_type, ns_boundary_type, init_domain_distribution - use ice_fileunits, only: nu_diag, nu_grid, nu_kmt + use ice_fileunits, only: nu_diag, nu_grid, nu_kmt, & + get_fileunit, release_fileunit use ice_gather_scatter, only: gather_global, scatter_global use ice_read_write, only: ice_read, ice_read_nc, ice_read_global, & ice_read_global_nc, ice_open, ice_open_nc, ice_close_nc use ice_timers, only: timer_bound, ice_timer_start, ice_timer_stop use ice_exit, only: abort_ice + use ice_global_reductions, only: global_minval, global_maxval use icepack_intfc, only: icepack_warnings_flush, icepack_warnings_aborted use icepack_intfc, only: icepack_query_parameters @@ -540,7 +543,11 @@ subroutine init_grid2 ! bathymetry !----------------------------------------------------------------- +#ifdef RASM_MODS + call get_bathymetry_popfile +#else call get_bathymetry +#endif !---------------------------------------------------------------- ! Corner coordinates for CF compliant history files @@ -1662,7 +1669,6 @@ subroutine Tlatlon use ice_constants, only: c0, c1, c2, c4, & field_loc_center, field_type_scalar - use ice_global_reductions, only: global_minval, global_maxval integer (kind=int_kind) :: & i, j, iblk , & ! horizontal indices @@ -2357,6 +2363,98 @@ subroutine get_bathymetry end subroutine get_bathymetry +!======================================================================= +! with use_bathymetry = false, vertical depth profile generated for max KMT +! with use_bathymetry = true, expects to read in pop vert_grid file + + subroutine get_bathymetry_popfile + + integer (kind=int_kind) :: & + i, j, k, iblk ! loop indices + + integer (kind=int_kind) :: & + ntmp, nlevel , & ! number of levels (max KMT) + k1 , & ! levels + ierr , & ! error tag + fid ! fid unit number + + real (kind=dbl_kind), dimension(:),allocatable :: & + depth , & ! total depth, m + thick ! layer thickness, cm -> m + + character(len=*), parameter :: subname = '(get_bathymetry_popfile)' + + ntmp = maxval(KMT) + nlevel = global_maxval(ntmp,distrb_info) + + if (my_task==master_task) then + write(nu_diag,*) subname,' KMT max = ',nlevel + endif + + allocate(depth(nlevel),thick(nlevel)) + thick = -999999. + depth = -999999. + + if (use_bathymetry) then + + write (nu_diag,*) subname,' Bathymetry file = ', trim(bathymetry_file) + if (my_task == master_task) then + call get_fileunit(fid) + open(fid,file=bathymetry_file,form='formatted',iostat=ierr) + if (ierr/=0) call abort_ice(subname//' open error') + do k = 1,nlevel + read(fid,*,iostat=ierr) thick(k) + if (ierr/=0) call abort_ice(subname//' read error') + enddo + call release_fileunit(fid) + endif + + call broadcast_array(thick,master_task) + + else + + ! create thickness profile + k1 = min(5,nlevel) + do k = 1,k1 + thick(k) = max(10000._dbl_kind/float(nlevel),500.) + enddo + do k = k1+1,nlevel + thick(k) = min(thick(k-1)*1.2_dbl_kind,20000._dbl_kind) + enddo + + endif + + ! convert thick from cm to m + thick = thick / 100._dbl_kind + + ! convert to total depth + depth(1) = thick(1) + do k = 2, nlevel + depth(k) = depth(k-1) + thick(k) + if (depth(k) < 0.) call abort_ice(subname//' negative depth error') + enddo + + if (my_task==master_task) then + do k = 1,nlevel + write(nu_diag,'(2a,i6,2f13.7)') subname,' k, thick(m), depth(m) = ',k,thick(k),depth(k) + enddo + endif + + bathymetry = 0._dbl_kind + do iblk = 1, nblocks + do j = 1, ny_block + do i = 1, nx_block + k = kmt(i,j,iblk) + if (k > nlevel) call abort_ice(subname//' kmt/nlevel error') + if (k > 0) bathymetry(i,j,iblk) = depth(k) + enddo + enddo + enddo + + deallocate(depth,thick) + + end subroutine get_bathymetry_popfile + !======================================================================= ! Read bathymetry data for basal stress calculation (grounding scheme for From 98d7db1eafc83e9d2fbe58fda9ee07bc98f659cf Mon Sep 17 00:00:00 2001 From: Anthony Craig Date: Tue, 24 Sep 2019 10:25:13 -0600 Subject: [PATCH 2/3] remove old code --- cicecore/cicedynB/dynamics/ice_dyn_evp_1d.F90 | 52 ++----------------- 1 file changed, 4 insertions(+), 48 deletions(-) diff --git a/cicecore/cicedynB/dynamics/ice_dyn_evp_1d.F90 b/cicecore/cicedynB/dynamics/ice_dyn_evp_1d.F90 index 794cd57b8..efa63368c 100644 --- a/cicecore/cicedynB/dynamics/ice_dyn_evp_1d.F90 +++ b/cicecore/cicedynB/dynamics/ice_dyn_evp_1d.F90 @@ -115,33 +115,7 @@ module ice_dyn_evp_1d contains !=============================================================================== -!module dmi_omp - -! use ice_kinds_mod -! use ice_fileunits, only: nu_diag -! use ice_exit, only: abort_ice - -! implicit none -! private -! public :: domp_init, domp_get_domain, domp_get_thread_no - -! interface domp_get_domain -! module procedure domp_get_domain_rlu -! end interface - -! INTEGER, PARAMETER :: JPIM = SELECTED_INT_KIND(9) -! integer(int_kind), private :: domp_iam, domp_nt - -!#if defined (_OPENMP) -! ! Please note, this constant will create a compiler info for a constant -! ! expression in IF statements: -! real(kind=dbl_kind) :: rdomp_iam, rdomp_nt -! !$OMP THREADPRIVATE(domp_iam,domp_nt,rdomp_iam,rdomp_nt) -!#endif - -!contains - -!---------------------------------------------------------------------------- +!former module dmi_omp subroutine domp_init(nt_out) @@ -252,29 +226,11 @@ end subroutine domp_get_thread_no !---------------------------------------------------------------------------- -!end module dmi_omp +!former end module dmi_omp !=============================================================================== -!module bench_v2 - -! use ice_fileunits, only: nu_diag -! use ice_exit, only: abort_ice - -! implicit none -! private -! public :: evp1d_stress, evp1d_stepu, evp1d_halo_update - -! interface evp1d_stress -! module procedure stress_i -! module procedure stress_l -! end interface -! interface evp1d_stepu -! module procedure stepu_iter -! module procedure stepu_last -! end interface - -! contains +!former module bench_v2 !---------------------------------------------------------------------------- @@ -1043,7 +999,7 @@ end subroutine evp1d_halo_update !---------------------------------------------------------------------------- -!end module bench_v2 +!former end module bench_v2 !=============================================================================== !---------------------------------------------------------------------------- From 9aa0cbf95204ae0c1ee42a0433d16f3e3652b129 Mon Sep 17 00:00:00 2001 From: Anthony Craig Date: Tue, 24 Sep 2019 10:26:59 -0600 Subject: [PATCH 3/3] remove old code --- cicecore/cicedynB/dynamics/ice_dyn_evp_1d.F90 | 8 -------- 1 file changed, 8 deletions(-) diff --git a/cicecore/cicedynB/dynamics/ice_dyn_evp_1d.F90 b/cicecore/cicedynB/dynamics/ice_dyn_evp_1d.F90 index efa63368c..0cb5d9102 100644 --- a/cicecore/cicedynB/dynamics/ice_dyn_evp_1d.F90 +++ b/cicecore/cicedynB/dynamics/ice_dyn_evp_1d.F90 @@ -243,7 +243,6 @@ subroutine stress_i(NA_len, & str6,str7,str8) use ice_kinds_mod -! use dmi_omp, only : domp_get_domain use ice_constants, only: p027, p055, p111, p166, p222, p25, p333, p5, c1p5, c1 use icepack_parameters, only: puny use ice_dyn_shared, only: ecci, denom1, arlx1i, Ktens, revp @@ -509,7 +508,6 @@ subroutine stress_l(NA_len, tarear, & str1,str2,str3,str4,str5,str6,str7,str8 ) use ice_kinds_mod -! use dmi_omp, only : domp_get_domain use ice_constants, only: p027, p055, p111, p166, p222, p25, p333, p5, c1p5, c0, c1 use icepack_parameters, only: puny use ice_dyn_shared, only: ecci, denom1, arlx1i, Ktens, revp @@ -778,7 +776,6 @@ subroutine stepu_iter(NA_len,rhow, & str1,str2,str3,str4,str5,str6,str7,str8, nw,sw,se,skipme) use ice_kinds_mod -! use dmi_omp, only : domp_get_domain use ice_dyn_shared, only: brlx, revp use ice_constants, only: c0, c1 @@ -869,7 +866,6 @@ subroutine stepu_last(NA_len, rhow, & str1,str2,str3,str4,str5,str6,str7,str8, nw,sw,se,skipme) use ice_kinds_mod -! use dmi_omp, only : domp_get_domain use ice_constants, only: c0, c1 use icepack_parameters, only: puny use ice_dyn_shared, only: brlx, revp, basalstress @@ -962,7 +958,6 @@ end subroutine stepu_last subroutine evp1d_halo_update(NAVEL_len,lb,ub,uvel,vvel, halo_parent) use ice_kinds_mod -! use dmi_omp, only : domp_get_domain implicit none @@ -1402,8 +1397,6 @@ subroutine evp_kernel_v2 use ice_constants, only : c0 use ice_dyn_shared, only: ndte -! use bench_v2, only : evp1d_stress, evp1d_stepu, evp1d_halo_update -! use dmi_omp, only : domp_init use icepack_intfc, only: icepack_query_parameters use ice_communicate, only: my_task, master_task implicit none @@ -2038,7 +2031,6 @@ end subroutine findXinY_halo subroutine numainit(l,u,uu) -! use dmi_omp, only : domp_get_domain use ice_constants, only: c0 implicit none