Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minor modifs to ice_dyn routines #158

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 9 additions & 7 deletions cicecore/cicedynB/dynamics/ice_dyn_eap.F90
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ subroutine eap (dt)
! Wind stress is set during this routine from the values supplied
! via NEMO (unless calc_strair is true). These values are supplied
! rotated on u grid and multiplied by aice. strairxT = 0 in this
! case so operations in evp_prep1 are pointless but carried out to
! case so operations in dyn_prep1 are pointless but carried out to
! minimise code changes.
#endif

Expand All @@ -91,7 +91,7 @@ subroutine eap (dt)
use ice_domain, only: nblocks, blocks_ice, halo_info, maskhalo_dyn
use ice_dyn_shared, only: fcor_blk, ndte, dtei, a_min, m_min, &
cosw, sinw, denom1, uvel_init, vvel_init, arlx1i, &
evp_prep1, evp_prep2, stepu, evp_finish, &
dyn_prep1, dyn_prep2, stepu, dyn_finish, &
basal_stress_coeff, basalstress
use ice_flux, only: rdg_conv, rdg_shear, strairxT, strairyT, &
strairx, strairy, uocn, vocn, ss_tltx, ss_tlty, iceumask, fm, &
Expand Down Expand Up @@ -198,7 +198,7 @@ subroutine eap (dt)
jlo = this_block%jlo
jhi = this_block%jhi

call evp_prep1 (nx_block, ny_block, &
call dyn_prep1 (nx_block, ny_block, &
ilo, ihi, jlo, jhi, &
aice (:,:,iblk), vice (:,:,iblk), &
vsno (:,:,iblk), tmask (:,:,iblk), &
Expand Down Expand Up @@ -253,7 +253,7 @@ subroutine eap (dt)
jlo = this_block%jlo
jhi = this_block%jhi

call evp_prep2 (nx_block, ny_block, &
call dyn_prep2 (nx_block, ny_block, &
ilo, ihi, jlo, jhi, &
icellt(iblk), icellu(iblk), &
indxti (:,iblk), indxtj (:,iblk), &
Expand Down Expand Up @@ -334,7 +334,7 @@ subroutine eap (dt)
call ice_timer_start(timer_bound)
call ice_HaloUpdate (strength, halo_info, &
field_loc_center, field_type_scalar)
! velocities may have changed in evp_prep2
! velocities may have changed in dyn_prep2
call ice_HaloUpdate (fld2, halo_info, &
field_loc_NEcorner, field_type_vector)
call ice_timer_stop(timer_bound)
Expand Down Expand Up @@ -362,13 +362,15 @@ subroutine eap (dt)
!-----------------------------------------------------------------

if (basalstress) then
!$OMP PARALLEL DO PRIVATE(iblk)
do iblk = 1, nblocks
call basal_stress_coeff (nx_block, ny_block, &
icellu (iblk), &
indxui(:,iblk), indxuj(:,iblk), &
vice(:,:,iblk), aice(:,:,iblk), &
hwater(:,:,iblk), Tbu(:,:,iblk))
enddo
enddo
!$OMP END PARALLEL DO
endif

do ksub = 1,ndte ! subcycling
Expand Down Expand Up @@ -495,7 +497,7 @@ subroutine eap (dt)
!$OMP PARALLEL DO PRIVATE(iblk)
do iblk = 1, nblocks

call evp_finish &
call dyn_finish &
(nx_block, ny_block, &
icellu (iblk), Cdn_ocn (:,:,iblk), &
indxui (:,iblk), indxuj (:,iblk), &
Expand Down
18 changes: 10 additions & 8 deletions cicecore/cicedynB/dynamics/ice_dyn_evp.F90
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ module ice_dyn_evp
field_type_scalar, field_type_vector
use ice_constants, only: c0, c4, p027, p055, p111, p166, &
p2, p222, p25, p333, p5, c1
use ice_dyn_shared, only: stepu, evp_prep1, evp_prep2, evp_finish, &
use ice_dyn_shared, only: stepu, dyn_prep1, dyn_prep2, dyn_finish, &
ndte, yield_curve, ecci, denom1, arlx1i, fcor_blk, uvel_init, &
vvel_init, basal_stress_coeff, basalstress, Ktens
use ice_fileunits, only: nu_diag
Expand All @@ -66,7 +66,7 @@ module ice_dyn_evp
! Wind stress is set during this routine from the values supplied
! via NEMO (unless calc_strair is true). These values are supplied
! rotated on u grid and multiplied by aice. strairxT = 0 in this
! case so operations in evp_prep1 are pointless but carried out to
! case so operations in dyn_prep1 are pointless but carried out to
! minimise code changes.
#endif
!
Expand Down Expand Up @@ -190,7 +190,7 @@ subroutine evp (dt)
jlo = this_block%jlo
jhi = this_block%jhi

call evp_prep1 (nx_block, ny_block, &
call dyn_prep1 (nx_block, ny_block, &
ilo, ihi, jlo, jhi, &
aice (:,:,iblk), vice (:,:,iblk), &
vsno (:,:,iblk), tmask (:,:,iblk), &
Expand Down Expand Up @@ -244,7 +244,7 @@ subroutine evp (dt)
jlo = this_block%jlo
jhi = this_block%jhi

call evp_prep2 (nx_block, ny_block, &
call dyn_prep2 (nx_block, ny_block, &
ilo, ihi, jlo, jhi, &
icellt(iblk), icellu(iblk), &
indxti (:,iblk), indxtj (:,iblk), &
Expand Down Expand Up @@ -304,7 +304,7 @@ subroutine evp (dt)
call ice_timer_start(timer_bound)
call ice_HaloUpdate (strength, halo_info, &
field_loc_center, field_type_scalar)
! velocities may have changed in evp_prep2
! velocities may have changed in dyn_prep2
call ice_HaloUpdate (fld2, halo_info, &
field_loc_NEcorner, field_type_vector)
call ice_timer_stop(timer_bound)
Expand Down Expand Up @@ -332,13 +332,15 @@ subroutine evp (dt)
!-----------------------------------------------------------------

if (basalstress) then
!$OMP PARALLEL DO PRIVATE(iblk)
do iblk = 1, nblocks
call basal_stress_coeff (nx_block, ny_block, &
icellu (iblk), &
indxui(:,iblk), indxuj(:,iblk), &
vice(:,:,iblk), aice(:,:,iblk), &
hwater(:,:,iblk), Tbu(:,:,iblk))
enddo
enddo
!$OMP END PARALLEL DO
endif

do ksub = 1,ndte ! subcycling
Expand Down Expand Up @@ -497,7 +499,7 @@ subroutine evp (dt)
!$OMP PARALLEL DO PRIVATE(iblk)
do iblk = 1, nblocks

call evp_finish &
call dyn_finish &
(nx_block, ny_block, &
icellu (iblk), Cdn_ocn (:,:,iblk), &
indxui (:,iblk), indxuj (:,iblk), &
Expand Down Expand Up @@ -662,8 +664,8 @@ subroutine stress (nx_block, ny_block, &
! Delta (in the denominator of zeta, eta)
Deltane = sqrt(divune**2 + ecci*(tensionne**2 + shearne**2))
Deltanw = sqrt(divunw**2 + ecci*(tensionnw**2 + shearnw**2))
Deltase = sqrt(divuse**2 + ecci*(tensionse**2 + shearse**2))
Deltasw = sqrt(divusw**2 + ecci*(tensionsw**2 + shearsw**2))
Deltase = sqrt(divuse**2 + ecci*(tensionse**2 + shearse**2))

!-----------------------------------------------------------------
! on last subcycle, save quantities for mechanical redistribution
Expand Down
14 changes: 7 additions & 7 deletions cicecore/cicedynB/dynamics/ice_dyn_shared.F90
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ module ice_dyn_shared
implicit none
private
public :: init_evp, set_evp_parameters, stepu, principal_stress, &
evp_prep1, evp_prep2, evp_finish, basal_stress_coeff
dyn_prep1, dyn_prep2, dyn_finish, basal_stress_coeff

! namelist parameters

Expand Down Expand Up @@ -250,7 +250,7 @@ end subroutine set_evp_parameters
!
! author: Elizabeth C. Hunke, LANL

subroutine evp_prep1 (nx_block, ny_block, &
subroutine dyn_prep1 (nx_block, ny_block, &
ilo, ihi, jlo, jhi, &
aice, vice, &
vsno, tmask, &
Expand Down Expand Up @@ -353,7 +353,7 @@ subroutine evp_prep1 (nx_block, ny_block, &
enddo
enddo

end subroutine evp_prep1
end subroutine dyn_prep1

!=======================================================================
! Computes quantities needed in the stress tensor (sigma)
Expand All @@ -365,7 +365,7 @@ end subroutine evp_prep1
!
! author: Elizabeth C. Hunke, LANL

subroutine evp_prep2 (nx_block, ny_block, &
subroutine dyn_prep2 (nx_block, ny_block, &
ilo, ihi, jlo, jhi, &
icellt, icellu, &
indxti, indxtj, &
Expand Down Expand Up @@ -604,7 +604,7 @@ subroutine evp_prep2 (nx_block, ny_block, &
forcey(i,j) = strairy(i,j) + strtlty(i,j)
enddo

end subroutine evp_prep2
end subroutine dyn_prep2

!=======================================================================

Expand Down Expand Up @@ -765,7 +765,7 @@ end subroutine stepu
!
! author: Elizabeth C. Hunke, LANL

subroutine evp_finish (nx_block, ny_block, &
subroutine dyn_finish (nx_block, ny_block, &
icellu, Cw, &
indxui, indxuj, &
uvel, vvel, &
Expand Down Expand Up @@ -857,7 +857,7 @@ subroutine evp_finish (nx_block, ny_block, &
strocnyT(i,j) = strocny(i,j) / aiu(i,j)
enddo

end subroutine evp_finish
end subroutine dyn_finish

!=======================================================================
! Computes basal stress Tbu coefficients (landfast ice)
Expand Down
6 changes: 2 additions & 4 deletions configuration/scripts/machines/env.fram_intel
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
setenv ICE_MACHINE_ENVNAME fram
setenv ICE_MACHINE_COMPILER intel
setenv ICE_MACHINE_MAKE make
setenv ICE_MACHINE_WKDIR /users/dor/armn/jfl/local1/CICE6dev/CICE/tests/CICE_RUNS
setenv ICE_MACHINE_WKDIR /home/dormrb01/zephyr4/armn/jfl/local1/Minor_modif4july2018/CICE/tests/CICE_RUNS
setenv ICE_MACHINE_INPUTDATA /users/dor/armn/jfl/local1/CICE6/CICE/configuration/data/gx3Ncar
setenv ICE_MACHINE_BASELINE /users/dor/armn/jfl/local1/CICE6dev/CICE/tests/CICE_BASELINE
setenv ICE_MACHINE_BASELINE /home/dormrb01/zephyr4/armn/jfl/local1/Minor_modif4july2018/CICE/tests/CICE_BASELINE
setenv ICE_MACHINE_SUBMIT "qsub"
setenv ICE_MACHINE_QUEUE "default"
setenv ICE_MACHINE_TPNODE 36
Expand All @@ -19,5 +19,3 @@ if (-e ~/.cice_proj) then
set account_name = `head -1 ~/.cice_proj`
setenv CICE_ACCT ${account_name}
endif

echo "je suis dans env"
2 changes: 1 addition & 1 deletion doc/source/science_guide/sg_coupling.rst
Original file line number Diff line number Diff line change
Expand Up @@ -393,7 +393,7 @@ source. In our case, the sea surface height :math:`H_\circ` is a
prognostic variable in POP—the flux coupler can provide the surface
slope directly, rather than inferring it from the currents. (The option
of computing it from the currents is provided in subroutine
*evp\_prep*.) The sea ice model uses the surface layer currents
*dyn\_prep2*.) The sea ice model uses the surface layer currents
:math:`\vec{U}_w` to determine the stress between the ocean and the ice,
and subsequently the ice velocity :math:`\vec{u}`. This stress, relative
to the ice,
Expand Down
2 changes: 1 addition & 1 deletion doc/source/user_guide/ug_implementation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,7 @@ The logical masks `tmask` and `umask` (which correspond to the real masks
`hm` and `uvm`, respectively) are useful in conditional statements.

In addition to the land masks, two other masks are implemented in
*evp\_prep* in order to reduce the dynamics component’s work on a global
*dyn\_prep* in order to reduce the dynamics component’s work on a global
grid. At each time step the logical masks `ice\_tmask` and `ice\_umask` are
determined from the current ice extent, such that they have the value
“true” wherever ice exists. They also include a border of cells around
Expand Down