-
Notifications
You must be signed in to change notification settings - Fork 132
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
Add single grid channel capability and test for C-grid #875
Changes from 2 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -1489,6 +1489,22 @@ subroutine rectgrid | |
enddo | ||
enddo | ||
|
||
elseif (trim(kmt_type) == 'channel_oneeast') then | ||
|
||
do j = ny_global/2,ny_global/2 ! one channel wide | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. what happens if ny_global is odd? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It doesn't matter, it'll just round down. ny_global/2 is always a well defined integer value. The channel will be created at j=ny_global/2, whether ny_global is odd or even. We could have chosen j=2 or j=ny_global/4 or anything really would work. ny_global/2 is probably safest. If ny_global is a relatively small integer, it'll create the channel away from the edge as much as possible. I guess we run into a problem if ny_global is less than 4, but that's not a particularly useful grid, and I don't think we need to worry about that. |
||
do i = 1,nx_global ! open sides | ||
work_g1(i,j) = c1 ! NOTE nx_global > 5 | ||
enddo | ||
enddo | ||
|
||
elseif (trim(kmt_type) == 'channel_onenorth') then | ||
|
||
do j = 1,ny_global ! open sides | ||
do i = nx_global/2,nx_global/2 ! one channel wide | ||
work_g1(i,j) = c1 ! NOTE nx_global > 5 | ||
enddo | ||
enddo | ||
|
||
elseif (trim(kmt_type) == 'wall') then | ||
|
||
do j = 1,ny_global ! open except | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
days_per_year = 360 | ||
use_leap_years = .false. | ||
npt_unit = 'd' | ||
npt = 5 | ||
ice_ic = 'internal' | ||
restart_ext = .true. | ||
histfreq = 'd','1','x','x','x' | ||
grid_type = 'rectangular' | ||
kmt_type = 'channel_oneeast' | ||
dxrect = 16.e5 | ||
dyrect = 16.e5 | ||
close_boundaries = .false. | ||
ew_boundary_type = 'cyclic' | ||
ns_boundary_type = 'open' | ||
tr_iage = .false. | ||
tr_FY = .false. | ||
tr_lvl = .false. | ||
tr_pond_lvl = .false. | ||
ktherm = -1 | ||
atmbndy = 'constant' | ||
atm_data_type = 'uniform_east' | ||
ocn_data_type = 'calm' | ||
ice_data_type = 'block' | ||
ice_data_conc = 'p5' | ||
ice_data_dist = 'uniform' | ||
calc_strair = .false. | ||
rotate_wind = .false. | ||
restore_ice = .false. | ||
f_aice = 'd1' | ||
f_hi = 'd1' | ||
f_hs = 'd' | ||
f_Tsfc = 'd' | ||
f_uvel = 'd1' | ||
f_vvel = 'd1' | ||
f_uatm = 'd' | ||
f_vatm = 'd' | ||
f_uocn = 'd' | ||
f_vocn = 'd' | ||
f_strairx = 'd1' | ||
f_strairy = 'd1' | ||
f_strtltx = 'd1' | ||
f_strtlty = 'd1' | ||
f_strcorx = 'd1' | ||
f_strcory = 'd1' | ||
f_strocnx = 'd1' | ||
f_strocny = 'd1' | ||
f_strintx = 'd1' | ||
f_strinty = 'd1' | ||
f_taubx = 'd1' | ||
f_tauby = 'd1' | ||
f_divu = 'd1' | ||
f_sig1 = 'd1' | ||
f_sig2 = 'd1' | ||
f_sigP = 'd1' | ||
f_dvidtd = 'd1' |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
days_per_year = 360 | ||
use_leap_years = .false. | ||
npt_unit = 'd' | ||
npt = 5 | ||
ice_ic = 'internal' | ||
restart_ext = .true. | ||
histfreq = 'd','1','x','x','x' | ||
grid_type = 'rectangular' | ||
kmt_type = 'channel_onenorth' | ||
dxrect = 16.e5 | ||
dyrect = 16.e5 | ||
close_boundaries = .false. | ||
ew_boundary_type = 'open' | ||
ns_boundary_type = 'cyclic' | ||
tr_iage = .false. | ||
tr_FY = .false. | ||
tr_lvl = .false. | ||
tr_pond_lvl = .false. | ||
ktherm = -1 | ||
atmbndy = 'constant' | ||
atm_data_type = 'uniform_north' | ||
ocn_data_type = 'calm' | ||
ice_data_type = 'block' | ||
ice_data_conc = 'p5' | ||
ice_data_dist = 'uniform' | ||
calc_strair = .false. | ||
rotate_wind = .false. | ||
restore_ice = .false. | ||
f_aice = 'd1' | ||
f_hi = 'd1' | ||
f_hs = 'd' | ||
f_Tsfc = 'd' | ||
f_uvel = 'd1' | ||
f_vvel = 'd1' | ||
f_uatm = 'd' | ||
f_vatm = 'd' | ||
f_uocn = 'd' | ||
f_vocn = 'd' | ||
f_strairx = 'd1' | ||
f_strairy = 'd1' | ||
f_strtltx = 'd1' | ||
f_strtlty = 'd1' | ||
f_strcorx = 'd1' | ||
f_strcory = 'd1' | ||
f_strocnx = 'd1' | ||
f_strocny = 'd1' | ||
f_strintx = 'd1' | ||
f_strinty = 'd1' | ||
f_taubx = 'd1' | ||
f_tauby = 'd1' | ||
f_divu = 'd1' | ||
f_sig1 = 'd1' | ||
f_sig2 = 'd1' | ||
f_sigP = 'd1' | ||
f_dvidtd = 'd1' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean here and the other places with temp comment.
We should keep the comment:
! 1 grid-cell wide channel: dpx,y = 0, edgearea /= 0