Skip to content

Commit

Permalink
fix uarea initialization related to NYGLOB cpp (#1)
Browse files Browse the repository at this point in the history
  • Loading branch information
apcraig committed Sep 27, 2018
1 parent 260e8b9 commit 234bf47
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 21 deletions.
15 changes: 11 additions & 4 deletions cicecore/cicedynB/general/ice_init.F90
Original file line number Diff line number Diff line change
Expand Up @@ -189,9 +189,10 @@ subroutine input_data
abort_flag = 0

call icepack_query_parameters(puny_out=puny)
call icepack_warnings_flush(nu_diag)
if (icepack_warnings_aborted()) call abort_ice(error_message=subname//'Icepack Abort0', &
file=__FILE__, line=__LINE__)
! nu_diag not yet defined
! call icepack_warnings_flush(nu_diag)
! if (icepack_warnings_aborted()) call abort_ice(error_message=subname//'Icepack Abort0', &
! file=__FILE__, line=__LINE__)

days_per_year = 365 ! number of days in a year
use_leap_years= .false.! if true, use leap years (Feb 29)
Expand Down Expand Up @@ -876,7 +877,13 @@ subroutine input_data
write(nu_diag,1020) ' kitd = ', kitd
write(nu_diag,1020) ' kcatbound = ', &
kcatbound
write(nu_diag,1020) ' kdyn = ', kdyn
if (kdyn == 1) then
write(nu_diag,1020) ' kdyn = evp ', kdyn
elseif (kdyn == 2) then
write(nu_diag,1020) ' kdyn = eap ', kdyn
else
write(nu_diag,1020) ' kdyn = ', kdyn
endif
write(nu_diag,1020) ' ndtd = ', ndtd
write(nu_diag,1020) ' ndte = ', ndte
write(nu_diag,1010) ' revised_evp = ', &
Expand Down
31 changes: 14 additions & 17 deletions cicecore/cicedynB/infrastructure/ice_grid.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1486,26 +1486,23 @@ subroutine primary_grid_lengths_HTE(work_g)
endif

if (my_task == master_task) then
do j = 1, ny_global
do i = 1, nx_global
work_g(i,j) = work_g(i,j) * cm_to_m ! HTE
enddo
enddo
do j = 1, ny_global-1
do j = 1, ny_global
do i = 1, nx_global
work_g(i,j) = work_g(i,j) * cm_to_m ! HTE
enddo
enddo
do j = 1, ny_global-1
do i = 1, nx_global
work_g2(i,j) = p5*(work_g(i,j) + work_g(i,j+1)) ! dyu
enddo
enddo
! extrapolate to obtain dyu along j=ny_global
! for CESM: use NYGLOB to prevent a compile time out of bounds
! error when ny_global=1 as in the se dycore; this code is not
! exersized in prescribed mode.
#if (NYGLOB>2)
do i = 1, nx_global
work_g2(i,ny_global) = c2*work_g(i,ny_global-1) &
- work_g(i,ny_global-2) ! dyu
enddo
#endif
enddo
! extrapolate to obtain dyu along j=ny_global
if (ny_global > 1) then
do i = 1, nx_global
work_g2(i,ny_global) = c2*work_g(i,ny_global-1) &
- work_g(i,ny_global-2) ! dyu
enddo
endif
endif
call scatter_global(HTE, work_g, master_task, distrb_info, &
field_loc_Eface, field_type_scalar)
Expand Down

0 comments on commit 234bf47

Please sign in to comment.