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

Pr duplicate #2

Merged
merged 49 commits into from
Dec 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 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
cefa7cd
Merge remote-tracking branch 'upstream/emc/develop' into feature/updcice
DeniseWorthen Dec 6, 2023
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 .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[submodule "icepack"]
path = icepack
url = https://github.com/cice-consortium/Icepack
url = https://github.com/cice-consortium/icepack
2 changes: 1 addition & 1 deletion cice.setup
Original file line number Diff line number Diff line change
Expand Up @@ -1189,7 +1189,7 @@ source ./cice.settings
set bldstat = 0
if (\${dobuild} == true) then
if (\${doreuse} == true) then
set ciceexe = "../ciceexe.\${ICE_TARGET}.\${ICE_ENVNAME}.\${ICE_COMMDIR}.\${ICE_BLDDEBUG}.\${ICE_THREADED}.\${ICE_IOTYPE}"
set ciceexe = "../ciceexe.\${ICE_TARGET}.\${ICE_ENVNAME}.\${ICE_COMMDIR}.\${ICE_BLDDEBUG}.\${ICE_THREADED}.\${ICE_IOTYPE}.\${ICE_SNICARHC}"
./cice.build --exe \${ciceexe}
set bldstat = \${status}
if !(-e \${ciceexe}) cp -p \${ICE_RUNDIR}/cice \${ciceexe}
Expand Down
5 changes: 3 additions & 2 deletions cicecore/cicedyn/analysis/ice_diagnostics.F90
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ subroutine runtime_diags (dt)
use ice_flux, only: alvdr, alidr, alvdf, alidf, evap, fsnow, frazil, &
fswabs, fswthru, flw, flwout, fsens, fsurf, flat, frzmlt_init, frain, fpond, &
fhocn_ai, fsalt_ai, fresh_ai, frazil_diag, &
update_ocn_f, Tair, Qa, fsw, fcondtop, meltt, meltb, meltl, snoice, &
update_ocn_f, cpl_frazil, Tair, Qa, fsw, fcondtop, meltt, meltb, meltl, snoice, &
dsnow, congel, sst, sss, Tf, fhocn, &
swvdr, swvdf, swidr, swidf, &
alvdr_init, alvdf_init, alidr_init, alidf_init
Expand Down Expand Up @@ -722,8 +722,9 @@ subroutine runtime_diags (dt)
! frazil ice growth !! should not be multiplied by aice
! m/step->kg/m^2/s
work1(:,:,:) = frazil(:,:,:)*rhoi/dt
if (ktherm == 2 .and. .not.update_ocn_f) &
if (.not. update_ocn_f .and. ktherm == 2 .and. cpl_frazil == 'fresh_ice_correction') then
work1(:,:,:) = (frazil(:,:,:)-frazil_diag(:,:,:))*rhoi/dt
endif
frzn = c0
frzs = c0
frzn = global_sum(work1, distrb_info, &
Expand Down
660 changes: 85 additions & 575 deletions cicecore/cicedyn/analysis/ice_history.F90

Large diffs are not rendered by default.

31 changes: 27 additions & 4 deletions cicecore/cicedyn/analysis/ice_history_shared.F90
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@ module ice_history_shared
character (len=char_len), public :: &
history_format

character (len=char_len), public :: &
hist_suffix(max_nstrm) ! appended to 'h' in filename when not 'x'

!---------------------------------------------------------------
! Instructions for adding a field: (search for 'example')
! Here or in ice_history_[process].F90:
Expand All @@ -81,6 +84,8 @@ module ice_history_shared
real (kind=dbl_kind) :: conb ! additive conversion factor
character (len=1) :: vhistfreq ! frequency of history output
integer (kind=int_kind) :: vhistfreq_n ! number of vhistfreq intervals
logical (kind=log_kind) :: avg_ice_present ! only average where ice is present
logical (kind=log_kind) :: mask_ice_free_points ! mask ice-free points
end type

integer (kind=int_kind), parameter, public :: &
Expand Down Expand Up @@ -761,9 +766,7 @@ subroutine construct_filename(ncfile,suffix,ns)
endif

cstream = ''
!echmod ! this was implemented for CESM but it breaks post-processing software
!echmod ! of other groups (including RASM which uses CESMCOUPLED)
!echmod if (ns > 1) write(cstream,'(i1.1)') ns-1
if (hist_suffix(ns) /= 'x') cstream = hist_suffix(ns)

if (hist_avg(ns)) then ! write averaged data
if (histfreq(ns) == '1' .and. histfreq_n(ns) == 1) then ! timestep
Expand Down Expand Up @@ -811,7 +814,7 @@ end subroutine construct_filename

subroutine define_hist_field(id, vname, vunit, vcoord, vcellmeas, &
vdesc, vcomment, cona, conb, &
ns, vhistfreq)
ns, vhistfreq, avg_ice_present, mask_ice_free_points)

use ice_calendar, only: histfreq, histfreq_n

Expand All @@ -837,14 +840,28 @@ subroutine define_hist_field(id, vname, vunit, vcoord, vcellmeas, &
integer (kind=int_kind), intent(in) :: &
ns ! history file stream index

logical (kind=log_kind), optional, intent(in) :: &
avg_ice_present , & ! compute average only when ice is present
mask_ice_free_points ! mask ice-free points

integer (kind=int_kind) :: &
ns1 , & ! variable stream loop index
lenf ! length of namelist string

character (len=40) :: stmp

logical (kind=log_kind) :: &
l_avg_ice_present , & ! compute average only when ice is present
l_mask_ice_free_points ! mask ice-free points

character(len=*), parameter :: subname = '(define_hist_field)'

l_avg_ice_present = .false.
l_mask_ice_free_points = .false.

if(present(avg_ice_present)) l_avg_ice_present = avg_ice_present
if(present(mask_ice_free_points)) l_mask_ice_free_points = mask_ice_free_points

if (histfreq(ns) == 'x') then
call abort_ice(subname//'ERROR: define_hist_fields has histfreq x')
endif
Expand All @@ -855,6 +872,10 @@ subroutine define_hist_field(id, vname, vunit, vcoord, vcellmeas, &
do ns1 = 1, lenf
if (vhistfreq(ns1:ns1) == histfreq(ns)) then

if (ns1 > 1 .and. index(vhistfreq(1:ns1-1),'x') /= 0) then
call abort_ice(subname//'ERROR: history frequency variable f_' // vname // ' can''t contain ''x'' along with active frequencies')
endif

num_avail_hist_fields_tot = num_avail_hist_fields_tot + 1

if (vcoord(11:14) == 'time') then
Expand Down Expand Up @@ -917,6 +938,8 @@ subroutine define_hist_field(id, vname, vunit, vcoord, vcellmeas, &
avail_hist_fields(id(ns))%conb = conb
avail_hist_fields(id(ns))%vhistfreq = vhistfreq(ns1:ns1)
avail_hist_fields(id(ns))%vhistfreq_n = histfreq_n(ns)
avail_hist_fields(id(ns))%avg_ice_present = l_avg_ice_present
avail_hist_fields(id(ns))%mask_ice_free_points = l_mask_ice_free_points

endif
enddo
Expand Down
Loading
Loading