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

Test #76

Closed
wants to merge 65 commits into from
Closed

Test #76

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
9424497
Fix CESMCOUPLED compile issue in icepack. (#823)
dabail10 Mar 23, 2023
5b0418a
Update global reduction implementation to improve performance, fix VP…
apcraig Apr 5, 2023
35ec167
Add functionality to change hist_avg for each stream (#827)
dabail10 May 17, 2023
b98b8ae
Update Icepack to #6703bc533c968 May 22, 2023 (#829)
apcraig May 24, 2023
8e2aab2
Fix for mesh check in CESM driver (#830)
dabail10 Jun 20, 2023
7eb4dd7
Update .readthedocs.yaml, add pdf (#837)
apcraig Jun 20, 2023
34dc667
Namelist option for time axis position. (#839)
dabail10 Jul 7, 2023
766ff8d
Update Icepack to #d024340f19676b July 6, 2023 (#841)
apcraig Jul 11, 2023
f9d3002
Add support for JRA55do (#843)
apcraig Jul 13, 2023
9f42a62
Update Icepack to Consortium main #4728746, July 18 2023 (#846)
apcraig Jul 20, 2023
4cb296c
Modification of edge mask computation when l_fixed_area=T in horizont…
JFLemieux73 Jul 25, 2023
7e8dc5b
Update conda_macos to fix problems with Github Actions testing (#853)
apcraig Aug 10, 2023
8322416
Updates to advanced snow physics implementation (#852)
eclare108213 Aug 18, 2023
357103a
Deprecate zsalinity (#851)
apcraig Aug 22, 2023
933b148
Extend restart output controls, provide multiple frequency options (#…
apcraig Aug 24, 2023
e8a69ab
Add logging features to nuopc/cmeps cap; deprecates zsalinity in cap …
DeniseWorthen Aug 28, 2023
32dc48e
Update Icepack to #23b6c1272b50d42ca, Aug 30, 2023 (#857)
apcraig Aug 31, 2023
cbbac74
Only print messages in CAP on master task (#861)
dabail10 Sep 5, 2023
714bab9
Update Cheyenne and Derecho ports (#863)
apcraig Sep 7, 2023
06282a5
Update version to 6.4.2 (#864)
apcraig Sep 8, 2023
01ed4db
More accurate calculation of areafact in remapping (#849)
JFLemieux73 Sep 15, 2023
a5bb4f9
switch to cesm-style field names (#869)
DeniseWorthen Sep 15, 2023
55342ca
Fix mesh mask check in nuopc/cmeps cap (#873)
dougiesquire Sep 25, 2023
d466031
Add single grid channel capability and test for C-grid (#875)
apcraig Sep 29, 2023
deb247b
Update CICE for E3SM Icepack modifications (#879)
apcraig Oct 5, 2023
2765630
Add perlmutter gnu, intel, cray port (#882)
apcraig Oct 12, 2023
48a92ef
Remove use of the deprecated "_old" tfrz_options in set_nml files. T…
apcraig Oct 13, 2023
96b43fb
Update Icepack CPP USE_SNICARHC to NO_SNICARHC and update logic (#886)
apcraig Oct 18, 2023
5ddb74d
Remove cicedynB link (#887)
apcraig Oct 18, 2023
a9d6dc7
Update input data area for Derecho, switch to campaign (#890)
apcraig Oct 18, 2023
6ba070f
Update Documentation to clarify Namelist Inputs (#888)
apcraig Oct 18, 2023
8916b9f
Update update_ocn_f implementation, Add cpl_frazil namelist (#889)
apcraig Oct 18, 2023
d3698fb
Add atm_data_version to allow JRA55 forcing filenames to have a uniqu…
daveh150 Oct 25, 2023
624c28b
ice_dyn_evp: pass 'grid_location' for LKD seabed stress on C grid (#893)
phil-blain Oct 26, 2023
b4abca4
Add 5-band dEdd shortwave tests (#896)
apcraig Oct 26, 2023
2e13606
doc: update histfreq_base and hist_avg descriptions (#898)
phil-blain Oct 26, 2023
0b5ca09
Revert "Add 5-band dEdd shortwave tests (#896)" (#900)
apcraig Oct 27, 2023
0484dcd
Split N/E grid computation out of Tlonlat, create NElonlat subroutine…
apcraig Oct 27, 2023
32f233d
Update Icepack, add snicar and snicartest tests (#902)
apcraig Oct 27, 2023
ea241fa
Update version, remove trailing blanks (#901)
apcraig Oct 27, 2023
4450a3e
Update Icepack to latest version, does not affect CICE (#903)
apcraig Oct 28, 2023
5d09123
Rename sum to asum, as "sum" is also a generic fortran function (#905)
mhrib Nov 10, 2023
8573ba8
New 1d evp solver (#895)
TillRasmussen Nov 16, 2023
d14bb69
Add missing logical "timer_stats" (#910)
mhrib Nov 17, 2023
1cf109b
Change to dealloc_grid in CICE_InitMod.F90 (#911)
dabail10 Nov 20, 2023
509e2c3
ice_history: refactor CMIP history variables (#906)
phil-blain Nov 23, 2023
21fab16
Update Icepack to #f6ff8f7c4d4cb6f (#913)
apcraig Nov 28, 2023
b14cedf
ice_history: allow per-stream suffix for history filenames (#912)
dabail10 Nov 28, 2023
37f9a98
Fix single channel debug failure, Update github actions testing (#922)
apcraig Dec 21, 2023
1314e17
First round of housekeeping on ice_grid (#921)
TillRasmussen Jan 11, 2024
a20bfdd
scamn bugfix for nuopc driver (#926)
dabail10 Jan 11, 2024
6449f40
Add vorticity as a diagnostic output (#924)
JFLemieux73 Jan 11, 2024
7a4b95e
Update pio and netcdf error checks (#927)
apcraig Jan 22, 2024
c91173a
fix dummy arguments w/o values
DeniseWorthen Jan 31, 2024
1a00e5e
Fix for ice_mesh_mod with grid variables removed (#929)
dabail10 Feb 5, 2024
095e62a
Update PULL_REQUEST_TEMPLATE to request detailed information (#931)
apcraig Feb 12, 2024
9e9e5b3
ug_testing.rst: also mention checking the base suite results (#934)
phil-blain Feb 19, 2024
aca8357
Update IO formats and add new IO namelist controls (#928)
apcraig Feb 22, 2024
64177e3
io: allow disabling coordinates in history files (#935)
phil-blain Feb 23, 2024
1a530ec
Typo in nmode0 in PIO for CESM_COUPLED (#938)
anton-seaice Feb 28, 2024
9f30120
Set 'idate0' and 'use_leap_years' in nuopc cap (#936)
anton-seaice Feb 28, 2024
740f2a6
Port to Carpenter (#939)
apcraig Feb 29, 2024
bac6ca3
fix missing j-loop in export 4d
DeniseWorthen Mar 5, 2024
1aa00d9
Merge remote-tracking branch 'Consortium/main' into test
DeniseWorthen Mar 6, 2024
3ac6f98
fix compiler error
DeniseWorthen Mar 6, 2024
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
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,4 @@ please refer to: <https://github.com/CICE-Consortium/About-Us/wiki/Resource-Inde
- [ ] No, does the documentation need to be updated at a later time?
- [ ] Yes
- [ ] No
- [ ] Please provide any additional information or relevant details below:
- [ ] Please document the changes in detail, including _why_ the changes are made. This will become part of the PR commit log.
6 changes: 4 additions & 2 deletions .github/workflows/test-cice.yml
Original file line number Diff line number Diff line change
Expand Up @@ -147,9 +147,11 @@ jobs:
run: |
cd $HOME/cice-dirs/input
wget --progress=dot:giga https://zenodo.org/record/3728358/files/CICE_data_gx3_grid_ic-20200320.tar.gz && tar xvfz CICE_data_gx3_grid_ic-20200320.tar.gz
wget --progress=dot:giga https://zenodo.org/record/3728362/files/CICE_data_gx3_forcing_NCAR_bulk-20200320.tar.gz && tar xvfz CICE_data_gx3_forcing_NCAR_bulk-20200320.tar.gz
wget --progress=dot:giga https://zenodo.org/record/3728364/files/CICE_data_gx3_forcing_JRA55-20200320.tar.gz && tar xvfz CICE_data_gx3_forcing_JRA55-20200320.tar.gz
wget --progress=dot:giga https://zenodo.org/records/10419929/files/CICE_data_gx3_forcing_JRA55_200501_20231220.tar.gz && tar xvfz CICE_data_gx3_forcing_JRA55_200501_20231220.tar.gz
pwd
cd CICE_data/forcing/gx3/JRA55/8XDAILY
ln -s JRA55_gx3_03hr_forcing_200501.nc JRA55_gx3_03hr_forcing_2005.nc
cd $HOME/cice-dirs/input
ls -alR
# - name: run case
# run: |
Expand Down
43 changes: 39 additions & 4 deletions cicecore/cicedyn/analysis/ice_history.F90
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
!
! The following variables are currently hard-wired as snapshots
! (instantaneous rather than time-averages):
! divu, shear, sig1, sig2, sigP, trsig, mlt_onset, frz_onset, hisnap, aisnap
! divu, shear, vort, sig1, sig2, sigP, trsig, mlt_onset,
! frz_onset, hisnap, aisnap
!
! Options for histfreq: '1','h','d','m','y','x', where x means that
! output stream will not be used (recommended for efficiency).
Expand Down Expand Up @@ -446,6 +447,14 @@ subroutine init_hist (dt)
if (f_Tsnz (1:1) /= 'x') f_VGRDs = .true.
if (tr_fsd) f_NFSD = .true.

call broadcast_scalar (f_tlon, master_task)
call broadcast_scalar (f_tlat, master_task)
call broadcast_scalar (f_ulon, master_task)
call broadcast_scalar (f_ulat, master_task)
call broadcast_scalar (f_nlon, master_task)
call broadcast_scalar (f_nlat, master_task)
call broadcast_scalar (f_elon, master_task)
call broadcast_scalar (f_elat, master_task)
call broadcast_scalar (f_tmask, master_task)
call broadcast_scalar (f_umask, master_task)
call broadcast_scalar (f_nmask, master_task)
Expand Down Expand Up @@ -597,6 +606,7 @@ subroutine init_hist (dt)
call broadcast_scalar (f_strength, master_task)
call broadcast_scalar (f_divu, master_task)
call broadcast_scalar (f_shear, master_task)
call broadcast_scalar (f_vort, master_task)
call broadcast_scalar (f_sig1, master_task)
call broadcast_scalar (f_sig2, master_task)
call broadcast_scalar (f_sigP, master_task)
Expand Down Expand Up @@ -1312,14 +1322,19 @@ subroutine init_hist (dt)

call define_hist_field(n_divu,"divu","%/day",tstr2D, tcstr, &
"strain rate (divergence)", &
"none", secday*c100, c0, &
"divu is instantaneous, on T grid", secday*c100, c0, &
ns1, f_divu)

call define_hist_field(n_shear,"shear","%/day",tstr2D, tcstr, &
"strain rate (shear)", &
"none", secday*c100, c0, &
"shear is instantaneous, on T grid", secday*c100, c0, &
ns1, f_shear)

call define_hist_field(n_vort,"vort","%/day",tstr2D, tcstr, &
"strain rate (vorticity)", &
"vort is instantaneous, on T grid", secday*c100, c0, &
ns1, f_vort)

select case (grid_ice)
case('B')
description = ", on U grid (NE corner values)"
Expand Down Expand Up @@ -1966,6 +1981,21 @@ subroutine init_hist (dt)
! floe size distribution
call init_hist_fsd_4Df

!-----------------------------------------------------------------
! fill icoord array with namelist values
!-----------------------------------------------------------------

icoord=.true.

icoord(n_tlon ) = f_tlon
icoord(n_tlat ) = f_tlat
icoord(n_ulon ) = f_ulon
icoord(n_ulat ) = f_ulat
icoord(n_nlon ) = f_nlon
icoord(n_nlat ) = f_nlat
icoord(n_elon ) = f_elon
icoord(n_elat ) = f_elat

!-----------------------------------------------------------------
! fill igrd array with namelist values
!-----------------------------------------------------------------
Expand Down Expand Up @@ -2623,14 +2653,16 @@ subroutine accum_hist (dt)
if (f_strength(1:1)/= 'x') &
call accum_hist_field(n_strength,iblk, strength(:,:,iblk), a2D)

! The following fields (divu, shear, sig1, and sig2) will be smeared
! The following fields (divu, shear, vort, sig1, and sig2) will be smeared
! if averaged over more than a few days.
! Snapshots may be more useful (see below).

! if (f_divu (1:1) /= 'x') &
! call accum_hist_field(n_divu, iblk, divu(:,:,iblk), a2D)
! if (f_shear (1:1) /= 'x') &
! call accum_hist_field(n_shear, iblk, shear(:,:,iblk), a2D)
! if (f_vort (1:1) /= 'x') &
! call accum_hist_field(n_vort, iblk, vort(:,:,iblk), a2D)
! if (f_sig1 (1:1) /= 'x') &
! call accum_hist_field(n_sig1, iblk, sig1(:,:,iblk), a2D)
! if (f_sig2 (1:1) /= 'x') &
Expand Down Expand Up @@ -3967,6 +3999,7 @@ subroutine accum_hist (dt)
if (.not. tmask(i,j,iblk)) then ! mask out land points
if (n_divu (ns) /= 0) a2D(i,j,n_divu(ns), iblk) = spval_dbl
if (n_shear (ns) /= 0) a2D(i,j,n_shear(ns), iblk) = spval_dbl
if (n_vort (ns) /= 0) a2D(i,j,n_vort(ns), iblk) = spval_dbl
if (n_sig1 (ns) /= 0) a2D(i,j,n_sig1(ns), iblk) = spval_dbl
if (n_sig2 (ns) /= 0) a2D(i,j,n_sig2(ns), iblk) = spval_dbl
if (n_sigP (ns) /= 0) a2D(i,j,n_sigP(ns), iblk) = spval_dbl
Expand Down Expand Up @@ -3996,6 +4029,8 @@ subroutine accum_hist (dt)
divu (i,j,iblk)*avail_hist_fields(n_divu(ns))%cona
if (n_shear (ns) /= 0) a2D(i,j,n_shear(ns),iblk) = &
shear(i,j,iblk)*avail_hist_fields(n_shear(ns))%cona
if (n_vort (ns) /= 0) a2D(i,j,n_vort(ns),iblk) = &
vort(i,j,iblk)*avail_hist_fields(n_vort(ns))%cona
if (n_sig1 (ns) /= 0) a2D(i,j,n_sig1(ns),iblk) = &
sig1 (i,j,iblk)*avail_hist_fields(n_sig1(ns))%cona
if (n_sig2 (ns) /= 0) a2D(i,j,n_sig2(ns),iblk) = &
Expand Down
41 changes: 33 additions & 8 deletions cicecore/cicedyn/analysis/ice_history_shared.F90
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
!
! The following variables are currently hard-wired as snapshots
! (instantaneous rather than time-averages):
! divu, shear, sig1, sig2, sigP, trsig, mlt_onset, frz_onset, hisnap, aisnap
! divu, shear, vort, sig1, sig2, sigP, trsig, mlt_onset,
! frz_onset, hisnap, aisnap
!
! Options for histfreq: '1','h','d','m','y','x', where x means that
! output stream will not be used (recommended for efficiency).
Expand Down Expand Up @@ -48,14 +49,19 @@ module ice_history_shared
history_dir , & ! directory name for history file
incond_dir ! directory for snapshot initial conditions

character (len=char_len_long), public :: &
pointer_file ! input pointer file for restarts

character (len=char_len), public :: &
version_name

character (len=char_len), public :: &
history_format
history_format , & ! history format, cdf1, cdf2, cdf5, etc
history_rearranger ! history file rearranger, box or subset for pio

integer (kind=int_kind), public :: &
history_iotasks , & ! iotasks, root, stride defines io pes for pio
history_root , & ! iotasks, root, stride defines io pes for pio
history_stride , & ! iotasks, root, stride defines io pes for pio
history_deflate , & ! compression level for hdf5/netcdf4
history_chunksize(2) ! chunksize for hdf5/netcdf4

character (len=char_len), public :: &
hist_suffix(max_nstrm) ! appended to 'h' in filename when not 'x'
Expand Down Expand Up @@ -125,6 +131,7 @@ module ice_history_shared
avail_hist_fields(max_avail_hist_fields)

integer (kind=int_kind), parameter, public :: &
ncoord = 8 , & ! number of coordinate variables: TLON, TLAT, ULON, ULAT, NLON, NLAT, ELON, ELAT
nvar_grd = 21 , & ! number of grid fields that can be written
! excluding grid vertices
nvar_grdz = 6 ! number of category/vertical grid fields written
Expand Down Expand Up @@ -159,6 +166,7 @@ module ice_history_shared
avgct(max_nstrm) ! average sample counter

logical (kind=log_kind), public :: &
icoord(ncoord) , & ! true if coord field is written to output file
igrd (nvar_grd), & ! true if grid field is written to output file
igrdz(nvar_grdz) ! true if category/vertical grid field is written

Expand Down Expand Up @@ -188,6 +196,10 @@ module ice_history_shared
!---------------------------------------------------------------

logical (kind=log_kind), public :: &
f_tlon = .true., f_tlat = .true., &
f_ulon = .true., f_ulat = .true., &
f_nlon = .true., f_nlat = .true., &
f_elon = .true., f_elat = .true., &
f_tmask = .true., f_umask = .true., &
f_nmask = .true., f_emask = .true., &
f_blkmask = .true., &
Expand Down Expand Up @@ -267,7 +279,7 @@ module ice_history_shared
f_strocnxE = 'x', f_strocnyE = 'x', &
f_strintxE = 'x', f_strintyE = 'x', &
f_taubxE = 'x', f_taubyE = 'x', &
f_strength = 'm', &
f_strength = 'm', f_vort = 'm', &
f_divu = 'm', f_shear = 'm', &
f_sig1 = 'm', f_sig2 = 'm', &
f_sigP = 'm', &
Expand Down Expand Up @@ -356,6 +368,10 @@ module ice_history_shared
!---------------------------------------------------------------

namelist / icefields_nml / &
f_tlon , f_tlat , &
f_ulon , f_ulat , &
f_nlon , f_nlat , &
f_elon , f_elat , &
f_tmask , f_umask , &
f_nmask , f_emask , &
f_blkmask , &
Expand Down Expand Up @@ -434,7 +450,7 @@ module ice_history_shared
! f_strocnxE, f_strocnyE , &
! f_strintxE, f_strintyE , &
! f_taubxE, f_taubyE , &
f_strength, &
f_strength, f_vort , &
f_divu, f_shear , &
f_sig1, f_sig2 , &
f_sigP, &
Expand Down Expand Up @@ -523,6 +539,15 @@ module ice_history_shared
!---------------------------------------------------------------

integer (kind=int_kind), parameter, public :: &
n_tlon = 1, &
n_tlat = 2, &
n_ulon = 3, &
n_ulat = 4, &
n_nlon = 5, &
n_nlat = 6, &
n_elon = 7, &
n_elat = 8, &

n_tmask = 1, &
n_umask = 2, &
n_nmask = 3, &
Expand Down Expand Up @@ -626,7 +651,7 @@ module ice_history_shared
n_strocnxE , n_strocnyE , &
n_strintxE , n_strintyE , &
n_taubxE , n_taubyE , &
n_strength , &
n_strength , n_vort , &
n_divu , n_shear , &
n_sig1 , n_sig2 , &
n_sigP , &
Expand Down
22 changes: 19 additions & 3 deletions cicecore/cicedyn/dynamics/ice_dyn_eap.F90
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ subroutine eap (dt)
seabed_stress_factor_LKD, seabed_stress_factor_prob, &
seabed_stress_method, seabed_stress, &
stack_fields, unstack_fields, iceTmask, iceUmask, &
fld2, fld3, fld4
fld2, fld3, fld4, dxhy, dyhx, cxp, cyp, cxm, cym
use ice_flux, only: rdg_conv, strairxT, strairyT, &
strairxU, strairyU, uocn, vocn, ss_tltx, ss_tlty, fmU, &
strtltxU, strtltyU, strocnxU, strocnyU, strintxU, strintyU, taubxU, taubyU, &
Expand All @@ -118,10 +118,10 @@ subroutine eap (dt)
stressp_1, stressp_2, stressp_3, stressp_4, &
stressm_1, stressm_2, stressm_3, stressm_4, &
stress12_1, stress12_2, stress12_3, stress12_4
use ice_grid, only: tmask, umask, dxT, dyT, dxhy, dyhx, cxp, cyp, cxm, cym, &
use ice_grid, only: tmask, umask, dxT, dyT, dxU, dyU, &
tarear, uarear, grid_average_X2Y, &
grid_atm_dynu, grid_atm_dynv, grid_ocn_dynu, grid_ocn_dynv
use ice_state, only: aice, aiU, vice, vsno, uvel, vvel, divu, shear, &
use ice_state, only: aice, aiU, vice, vsno, uvel, vvel, divu, shear, vort, &
aice_init, aice0, aicen, vicen, strength
use ice_timers, only: timer_dynamics, timer_bound, &
ice_timer_start, ice_timer_stop
Expand Down Expand Up @@ -195,6 +195,7 @@ subroutine eap (dt)
rdg_shear(i,j,iblk) = c0 ! always zero. Could be moved
divu (i,j,iblk) = c0
shear(i,j,iblk) = c0
vort(i,j,iblk) = c0
e11(i,j,iblk) = c0
e12(i,j,iblk) = c0
e22(i,j,iblk) = c0
Expand Down Expand Up @@ -433,6 +434,7 @@ subroutine eap (dt)
arlx1i, denom1, &
uvel (:,:,iblk), vvel (:,:,iblk), &
dxT (:,:,iblk), dyT (:,:,iblk), &
dxU (:,:,iblk), dyU (:,:,iblk), &
dxhy (:,:,iblk), dyhx (:,:,iblk), &
cxp (:,:,iblk), cyp (:,:,iblk), &
cxm (:,:,iblk), cym (:,:,iblk), &
Expand All @@ -448,6 +450,7 @@ subroutine eap (dt)
stress12_1(:,:,iblk), stress12_2(:,:,iblk), &
stress12_3(:,:,iblk), stress12_4(:,:,iblk), &
shear (:,:,iblk), divu (:,:,iblk), &
vort (:,:,iblk), &
e11 (:,:,iblk), e12 (:,:,iblk), &
e22 (:,:,iblk), &
s11 (:,:,iblk), s12 (:,:,iblk), &
Expand Down Expand Up @@ -1162,6 +1165,7 @@ subroutine stress_eap (nx_block, ny_block, &
arlx1i, denom1, &
uvel, vvel, &
dxT, dyT, &
dxU, dyU, &
dxhy, dyhx, &
cxp, cyp, &
cxm, cym, &
Expand All @@ -1175,6 +1179,7 @@ subroutine stress_eap (nx_block, ny_block, &
stress12_1, stress12_2, &
stress12_3, stress12_4, &
shear, divu, &
vort, &
e11, e12, &
e22, &
s11, s12, &
Expand Down Expand Up @@ -1206,6 +1211,8 @@ subroutine stress_eap (nx_block, ny_block, &
vvel , & ! y-component of velocity (m/s)
dxT , & ! width of T-cell through the middle (m)
dyT , & ! height of T-cell through the middle (m)
dxU , & ! width of U-cell through the middle (m)
dyU , & ! height of U-cell through the middle (m)
dxhy , & ! 0.5*(HTE - HTW)
dyhx , & ! 0.5*(HTN - HTS)
cyp , & ! 1.5*HTE - 0.5*HTW
Expand All @@ -1226,6 +1233,7 @@ subroutine stress_eap (nx_block, ny_block, &
real (kind=dbl_kind), dimension (nx_block,ny_block), intent(inout) :: &
shear , & ! strain rate II component (1/s)
divu , & ! strain rate I component, velocity divergence (1/s)
vort , & ! vorticity (1/s)
e11 , & ! components of strain rate tensor (1/s)
e12 , & !
e22 , & !
Expand Down Expand Up @@ -1255,6 +1263,7 @@ subroutine stress_eap (nx_block, ny_block, &
divune, divunw, divuse, divusw , & ! divergence
tensionne, tensionnw, tensionse, tensionsw, & ! tension
shearne, shearnw, shearse, shearsw , & ! shearing
dvdxn, dvdxs, dudye, dudyw , & ! for vorticity calc
ssigpn, ssigps, ssigpe, ssigpw , &
ssigmn, ssigms, ssigme, ssigmw , &
ssig12n, ssig12s, ssig12e, ssig12w , &
Expand Down Expand Up @@ -1357,6 +1366,13 @@ subroutine stress_eap (nx_block, ny_block, &
(tensionne + tensionnw + tensionse + tensionsw)**2 &
+ (shearne + shearnw + shearse + shearsw)**2)

! vorticity
dvdxn = dyU(i,j)*vvel(i,j) - dyU(i-1,j)*vvel(i-1,j)
dvdxs = dyU(i,j-1)*vvel(i,j-1) - dyU(i-1,j-1)*vvel(i-1,j-1)
dudye = dxU(i,j)*uvel(i,j) - dxU(i,j-1)*uvel(i,j-1)
dudyw = dxU(i-1,j)*uvel(i-1,j) - dxU(i-1,j-1)*uvel(i-1,j-1)
vort(i,j) = p5*tarear(i,j)*(dvdxn + dvdxs - dudye - dudyw)

divu(i,j) = p25*(divune + divunw + divuse + divusw) * tarear(i,j)
rdg_conv(i,j) = -min(p25*(alpharne + alpharnw &
+ alpharsw + alpharse),c0) * tarear(i,j)
Expand Down
Loading
Loading