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

Merge E3SM Icepack cice-consortium/E3SM-icepack-initial-integration to Consortium #460

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
604d0ad
initial implementation of SNICAR-AD in Icepack, not tested but BFB in…
eclare108213 Aug 4, 2022
60fc58d
adding use_snicar flag (true if shortwave=dEdd_snicar)
eclare108213 Aug 4, 2022
e264065
initializing use_snicar based on shortwave namelist value
eclare108213 Aug 4, 2022
8109ebf
adding a few more arguments to the calling tree
eclare108213 Aug 5, 2022
4ff4e28
Merge pull request #5 from CICE-Consortium/main
eclare108213 Aug 17, 2022
49d1294
Merge branch 'main' of https://github.com/cice-consortium/icepack int…
eclare108213 Aug 22, 2022
3c65376
remove repeat ridging warnings for niter=1
eclare108213 Aug 22, 2022
2bd3504
use 5-band wghtns for snicar
eclare108213 Aug 22, 2022
56a2ccd
basic initialization for snicar tables
eclare108213 Aug 23, 2022
d2f3870
clean up trailing blanks
apcraig Aug 24, 2022
f03e228
Merge pull request #4 from apcraig/snicar-clean01
eclare108213 Aug 24, 2022
cd31ec2
interim commit with some snicar initialization, unconnected and not t…
eclare108213 Aug 25, 2022
a2bbd1d
Add data_dEdd_3band to icepack_init_radiation
apcraig Aug 24, 2022
d2ea5ed
Add ability to set SNICAR SSP data via icepack_parameters
apcraig Aug 24, 2022
4bf19c6
Add reading of SNICAR SSP file in Icepack driver including
apcraig Aug 25, 2022
8cb547a
rebase, update, and test
apcraig Aug 25, 2022
258f623
Merge pull request #5 from apcraig/snwtable
eclare108213 Aug 25, 2022
4e2d90b
Update ssp output
apcraig Aug 25, 2022
e569c4c
Reorder SNICAR SSP test data arrays to be consistent with source code
apcraig Aug 26, 2022
1d6eaa6
Merge pull request #6 from apcraig/sspoutput
eclare108213 Aug 26, 2022
f88b03c
move 5band data to subroutine; enable snicar testing on 1 no-ice grid…
eclare108213 Aug 26, 2022
6d68ee9
move more data to 3- and 5-band initialization routines, use module d…
eclare108213 Aug 26, 2022
b3ca79c
change snicar coefficient names and use module data for them
eclare108213 Aug 26, 2022
8ad73dd
cleaning up argument lists
eclare108213 Aug 26, 2022
89e0d9a
Add additional SNICAR SSP fields
apcraig Aug 27, 2022
93f9f3c
Merge pull request #7 from apcraig/moresspio
eclare108213 Aug 29, 2022
ef37585
set tmask=0 only for land cell
eclare108213 Aug 31, 2022
3e636b2
interim compute_dEdd_5bd subroutine (runs)
eclare108213 Sep 1, 2022
914130b
separate 3-band and 5-band compute_dEdd routines
eclare108213 Sep 1, 2022
0fabd24
Fix errors in calls to compute_dEdd. Some cleanup.
eclare108213 Sep 1, 2022
20d7e03
Remove duplicate Iabs calculation. More cleanup.
eclare108213 Sep 1, 2022
fe21d1f
- Add icepack_shortwave_data
apcraig Sep 1, 2022
a0f0e49
- Add USE_SNICARHC (snicar ssp hard coded tables) to reduce compile time
apcraig Sep 2, 2022
247a8ce
- Remove ssp_bcerad, ssp_bcgrerad from implementation
apcraig Sep 2, 2022
147201a
remove trailing blanks
apcraig Sep 2, 2022
2274b8e
Merge pull request #9 from apcraig/swdata
eclare108213 Sep 6, 2022
f270c73
Cleanup icepack_shortwave_data
apcraig Sep 6, 2022
631816e
update test suite and icepack_in
apcraig Sep 6, 2022
1395476
update scripts if md5sum not available
apcraig Sep 6, 2022
9766cff
Merge pull request #10 from apcraig/swdata1
eclare108213 Sep 6, 2022
0a9d6e7
Clean up shortwave data variable names
apcraig Sep 7, 2022
8f74768
Merge pull request #11 from apcraig/swaero
eclare108213 Sep 7, 2022
045e353
Clean up icepack_shortwave
apcraig Sep 7, 2022
69ed788
- Remove ncat, nilyr, nslyr, nblyr from interface arguments
apcraig Sep 8, 2022
6a46237
Merge pull request #12 from apcraig/swclean
eclare108213 Sep 8, 2022
44d377b
Update implementation of g(k), w0(k) in icepack_shortwave
apcraig Sep 11, 2022
6f8f21b
Get rid of use_snicar flag, redundant with shortwave setting
apcraig Sep 12, 2022
4256d9b
update documentation
eclare108213 Sep 18, 2022
34e5555
updating documentation
eclare108213 Sep 18, 2022
95fb567
use module data rather than hardcoded rhoi
eclare108213 Sep 18, 2022
9178ede
cleanup
apcraig Sep 18, 2022
e0b3292
update namelist and settings documentation
eclare108213 Sep 18, 2022
ee97eab
Merge pull request #13 from apcraig/aerclean
eclare108213 Sep 18, 2022
1a089e8
make icepack_warnings_getall public, snw_ssp_table=unknown, update us…
eclare108213 Sep 23, 2022
b7d7c16
add icepack_warnings_getall to interface module
eclare108213 Sep 23, 2022
64ab4a1
Major cleanup of dEdd module, mainly white space and standard alignme…
eclare108213 Sep 24, 2022
9ae618c
bug fixes for ice/snow layer reciprocal, missing lines as in consorti…
eclare108213 Sep 24, 2022
8aef3f7
Merge pull request #7 from eclare108213/snicar
eclare108213 Sep 30, 2022
20d4a94
mpassi options files
eclare108213 Oct 6, 2022
6704225
remove namelist entries that are the same as the defaults to avoid po…
eclare108213 Oct 6, 2022
d86c54e
Merge pull request #8 from eclare108213/testconfig1
apcraig Oct 7, 2022
90dbfe6
Minor updates consistent with E3SM columnphysics modifications
apcraig Oct 8, 2022
5efe8b7
Update spacing and documentation
apcraig Oct 8, 2022
6b7b63a
Merge branch 'main' of https://github.com/cice-consortium/icepack int…
apcraig Oct 8, 2022
86d414c
First step in adding Tf
dabail10 Oct 7, 2022
ef314e2
Fix some spacing and logic
dabail10 Oct 7, 2022
1b84132
Fix some documentation
dabail10 Oct 7, 2022
cf64956
Fix documentation formatting
dabail10 Oct 10, 2022
19d61e6
Merge pull request #12 from dabail10/tfrz2
apcraig Oct 11, 2022
125b40b
Merge pull request #10 from apcraig/e3smfix1
apcraig Oct 11, 2022
635f1c4
Merge branch 'cice-consortium/E3SM-icepack-initial-integration' into …
apcraig Oct 11, 2022
881db9a
Merge pull request #11 from apcraig/upd01a
apcraig Oct 11, 2022
1c502fa
namelist parameter to set maximum liquidus temperature
eclare108213 Oct 24, 2022
7cdacdb
Merge branch 'cice-consortium/E3SM-icepack-initial-integration' into …
eclare108213 Oct 24, 2022
93ada33
Merge pull request #13 from E3SM-Project/Tliquidus_limit
eclare108213 Oct 24, 2022
e4d987e
Modifications for bit-for-bit with current main in CICE
apcraig Oct 25, 2022
6a4533b
Merge pull request #14 from apcraig/Tffix
eclare108213 Oct 25, 2022
6211458
merge Icepack main to #5bf584f6b7f Nov 17, 2022
apcraig Nov 18, 2022
5a1b9e3
Merge branch 'main' of https://github.com/cice-consortium/icepack int…
apcraig Nov 18, 2022
64a27d3
Remove redundancy in public declaration
apcraig Nov 18, 2022
8944646
recover main bit-for-bit
apcraig Nov 18, 2022
ae5a4ef
update tfrz_option
apcraig Nov 19, 2022
0899390
Merge branch 'main' of https://github.com/cice-consortium/icepack int…
apcraig Nov 20, 2022
4d131da
Merge pull request #16 from apcraig/e3smup1
apcraig Nov 21, 2022
bec84e4
Merge branch 'main' of https://github.com/cice-consortium/icepack int…
apcraig Nov 29, 2022
941e3c5
Merge branch 'main' of https://github.com/cice-consortium/icepack int…
apcraig Nov 30, 2022
9d08355
Merge pull request #17 from apcraig/snowbrinebugs
eclare108213 Nov 30, 2022
8be0af0
Merge branch 'main' of https://github.com/cice-consortium/icepack int…
apcraig Dec 15, 2022
a9fc4fa
Merge pull request #18 from apcraig/e3sm_upd133
eclare108213 Dec 15, 2022
c9abc27
Merge branch 'main' of https://github.com/cice-consortium/icepack int…
apcraig Jan 25, 2023
ef7491f
Merge pull request #19 from apcraig/e3smicep230125
eclare108213 Jan 25, 2023
47e1791
Merge branch 'main' of https://github.com/cice-consortium/icepack int…
apcraig Feb 2, 2023
87db73b
Merge pull request #20 from apcraig/icep230202
apcraig Feb 3, 2023
7d42edb
Merge branch 'main' of https://github.com/cice-consortium/icepack int…
apcraig Mar 20, 2023
5f4cd19
Merge pull request #21 from apcraig/icep230317
eclare108213 Mar 24, 2023
dd24d9f
Merge branch 'main' of https://github.com/cice-consortium/icepack int…
eclare108213 Apr 14, 2023
6ca316f
Merge pull request #22 from E3SM-Project/ibranch3
eclare108213 Apr 14, 2023
e5a95e4
Merge branch 'main' of https://github.com/cice-consortium/icepack int…
apcraig Apr 18, 2023
e3e36a7
Merge pull request #23 from apcraig/icep230418
eclare108213 Apr 21, 2023
c0719d8
Merge branch 'main' of https://github.com/cice-consortium/icepack int…
apcraig May 24, 2023
2fc81b4
Merge pull request #24 from apcraig/icep230524
eclare108213 May 26, 2023
dfb8e2c
Merge branch 'main' of https://github.com/cice-consortium/icepack int…
eclare108213 Jul 6, 2023
b2b8066
Merge pull request #25 from E3SM-Project/ibranch4
eclare108213 Jul 7, 2023
d3b0ecc
Merge branch 'main' of https://github.com/cice-consortium/icepack int…
apcraig Jul 18, 2023
e8e7d7d
Merge pull request #26 from apcraig/main230718
eclare108213 Jul 19, 2023
a5804b0
Merge branch 'main' of https://github.com/cice-consortium/icepack int…
apcraig Aug 19, 2023
dd48a38
clean up merge
apcraig Aug 20, 2023
e751022
Merge pull request #27 from apcraig/main230819
eclare108213 Aug 21, 2023
5789cb5
Merge branch 'main' of https://github.com/cice-consortium/icepack int…
apcraig Aug 30, 2023
393b072
Merge branch 'main' of https://github.com/cice-consortium/icepack int…
apcraig Sep 14, 2023
586b5e5
Merge pull request #28 from apcraig/e3sm230830
eclare108213 Sep 14, 2023
cb0d946
Merge pull request #29 from apcraig/e3sm230914
eclare108213 Sep 14, 2023
baaa3f4
bring some mushy functions into icepack interface
eclare108213 Sep 25, 2023
1f0b307
elevate snow/mush enthalpy and salinity profile to interface
eclare108213 Sep 25, 2023
78286bf
Merge pull request #31 from E3SM-Project/E3SMrefactor
eclare108213 Sep 26, 2023
636fcbf
Update documentation
apcraig Sep 27, 2023
adcf436
Update documentation
apcraig Sep 28, 2023
e33cc75
Merge pull request #32 from apcraig/e3smdocs1
eclare108213 Sep 29, 2023
6a64845
Merge branch 'main' of https://github.com/cice-consortium/icepack int…
apcraig Sep 30, 2023
96f2fc7
Merge pull request #33 from apcraig/upd230930
eclare108213 Sep 30, 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
70 changes: 35 additions & 35 deletions columnphysics/icepack_brine.F90
Original file line number Diff line number Diff line change
Expand Up @@ -65,13 +65,13 @@ subroutine preflushing_changes (aicen, vicen, vsnon, &
hbr_old, hin,hsn, firstice )

real (kind=dbl_kind), intent(in) :: &
aicen , & ! concentration of ice
vicen , & ! volume per unit area of ice (m)
vsnon , & ! volume per unit area of snow (m)
meltb , & ! bottom ice melt (m)
meltt , & ! top ice melt (m)
congel , & ! bottom ice growth (m)
snoice ! top ice growth from flooding (m)
aicen , & ! concentration of ice
vicen , & ! volume per unit area of ice (m)
vsnon , & ! volume per unit area of snow (m)
meltb , & ! bottom ice melt (m)
meltt , & ! top ice melt (m)
congel , & ! bottom ice growth (m)
snoice ! top ice growth from flooding (m)

real (kind=dbl_kind), intent(out) :: &
hbr_old ! old brine height (m)
Expand Down Expand Up @@ -150,13 +150,13 @@ subroutine compute_microS_mushy (nilyr, nblyr, &
nblyr ! number of bio layers

real (kind=dbl_kind), dimension (nblyr+2), intent(in) :: &
bgrid ! biology nondimensional vertical grid points
bgrid ! biology nondimensional vertical grid points

real (kind=dbl_kind), dimension (nblyr+1), intent(in) :: &
igrid ! biology vertical interface points
igrid ! biology vertical interface points

real (kind=dbl_kind), dimension (nilyr+1), intent(in) :: &
cgrid ! CICE vertical coordinate
cgrid ! CICE vertical coordinate

real (kind=dbl_kind), intent(in) :: &
hice_old , & ! previous timestep ice height (m)
Expand All @@ -171,10 +171,10 @@ subroutine compute_microS_mushy (nilyr, nblyr, &
bphi_min ! surface porosity

real (kind=dbl_kind), intent(inout) :: &
hbr_old ! previous timestep brine height (m)
hbr_old ! previous timestep brine height (m)

real (kind=dbl_kind), dimension (nblyr+1), intent(inout) :: &
iDin ! tracer diffusivity/h^2 (1/s) includes gravity drainage/molecular
iDin ! tracer diffusivity/h^2 (1/s) includes gravity drainage/molecular

real (kind=dbl_kind), dimension (nblyr+1), intent(inout) :: &
iphin , & ! porosity on the igrid
Expand All @@ -183,7 +183,7 @@ subroutine compute_microS_mushy (nilyr, nblyr, &
iTin ! Temperature on the igrid (oC)

real (kind=dbl_kind), dimension (nblyr+2), intent(inout) :: &
bSin , & ! bulk salinity (ppt) on bgrid
bSin , & ! bulk salinity (ppt) on bgrid
brine_sal , & ! equilibrium brine salinity (ppt)
brine_rho ! internal brine density (kg/m^3)

Expand Down Expand Up @@ -285,7 +285,7 @@ subroutine compute_microS_mushy (nilyr, nblyr, &

do k= 2, nblyr+1
ikin(k) = k_o*iphin(k)**exp_h
iDin(k) = iphin(k)*Dm/hbr_old**2
if (hbr_old .GT. puny) iDin(k) = iphin(k)*Dm/hbr_old**2
if (hbr_old .GE. Ra_c) &
iDin(k) = iDin(k) &
+ l_sk*ikin(k)*gravit/viscos_dynamic*drho(k)/hbr_old**2
Expand All @@ -304,12 +304,12 @@ subroutine prepare_hbrine (nblyr, &
i_grid, sss)

integer (kind=int_kind), intent(in) :: &
nblyr ! number of bio layers
nblyr ! number of bio layers

real (kind=dbl_kind), dimension (:), intent(in) :: &
bSin , & ! salinity of ice layers on bio grid (ppt)
bTin , & ! temperature of ice layers on bio grid for history (C)
i_grid ! biology grid interface points
bSin , & ! salinity of ice layers on bio grid (ppt)
bTin , & ! temperature of ice layers on bio grid for history (C)
i_grid ! biology grid interface points

real (kind=dbl_kind), dimension (:), intent(inout) :: &
brine_sal , & ! equilibrium brine salinity (ppt)
Expand All @@ -333,14 +333,14 @@ subroutine prepare_hbrine (nblyr, &
! local variables

real (kind=dbl_kind), dimension(nblyr+1) :: &
kin ! permeability
kin ! permeability

real (kind=dbl_kind) :: &
k_min, ktemp, &
igrp, igrm, rigr ! grid finite differences

integer (kind=int_kind) :: &
k ! layer index
k ! layer index

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

Expand Down Expand Up @@ -470,7 +470,7 @@ subroutine update_hbrine (meltt, &
! local variables

real (kind=dbl_kind) :: &
hbrmin , & ! thinS or hin
hbrmin , & ! thinS or hin
dhbr_hin , & ! hbr-hin
hbrocn , & ! brine height above sea level (m) hbr-h_ocn
dhbr , & ! change in brine surface
Expand Down Expand Up @@ -565,22 +565,22 @@ subroutine calculate_drho (nblyr, i_grid, b_grid, &
brine_rho, ibrine_rho, drho)

integer (kind=int_kind), intent(in) :: &
nblyr ! number of bio layers
nblyr ! number of bio layers

real (kind=dbl_kind), dimension (nblyr+2), intent(in) :: &
b_grid ! biology nondimensional grid layer points
b_grid ! biology nondimensional grid layer points

real (kind=dbl_kind), dimension (nblyr+1), intent(in) :: &
i_grid ! biology grid interface points
i_grid ! biology grid interface points

real (kind=dbl_kind), dimension (nblyr+2), intent(in) :: &
brine_rho ! Internal brine density (kg/m^3)
brine_rho ! Internal brine density (kg/m^3)

real (kind=dbl_kind), dimension (nblyr + 1), intent(in) :: &
ibrine_rho ! Internal brine density (kg/m^3)
ibrine_rho ! Internal brine density (kg/m^3)

real (kind=dbl_kind), dimension (nblyr+1), intent(out) :: &
drho ! brine difference about grid point (kg/m^3)
drho ! brine difference about grid point (kg/m^3)

! local variables

Expand Down Expand Up @@ -679,7 +679,7 @@ subroutine icepack_init_hbrine(bgrid, igrid, cgrid, &
nblyr ! number of bio layers

real (kind=dbl_kind), intent(inout) :: &
phi_snow !porosity at the ice-snow interface
phi_snow ! porosity at the ice-snow interface

real (kind=dbl_kind), dimension (nblyr+2), intent(out) :: &
bgrid ! biology nondimensional vertical grid points
Expand All @@ -688,9 +688,9 @@ subroutine icepack_init_hbrine(bgrid, igrid, cgrid, &
igrid ! biology vertical interface points

real (kind=dbl_kind), dimension (nilyr+1), intent(out) :: &
cgrid , & ! CICE vertical coordinate
icgrid , & ! interface grid for CICE (shortwave variable)
swgrid ! grid for ice tracers used in dEdd scheme
cgrid , & ! CICE vertical coordinate
icgrid , & ! interface grid for CICE (shortwave variable)
swgrid ! grid for ice tracers used in dEdd scheme

!autodocument_end

Expand Down Expand Up @@ -772,10 +772,10 @@ subroutine icepack_init_zsalinity(nblyr,ntrcr_o, Rayleigh_criteria, &
Rayleigh_real, trcrn_bgc, nt_bgc_S, ncat, sss)

integer (kind=int_kind), intent(in) :: &
nblyr, & ! number of biolayers
nblyr , & ! number of biolayers
ntrcr_o, & ! number of non bio tracers
ncat , & ! number of categories
nt_bgc_S ! zsalinity index
ncat , & ! number of categories
nt_bgc_S ! zsalinity index

logical (kind=log_kind), intent(inout) :: &
Rayleigh_criteria
Expand All @@ -787,7 +787,7 @@ subroutine icepack_init_zsalinity(nblyr,ntrcr_o, Rayleigh_criteria, &
sss

real (kind=dbl_kind), dimension(:,:), intent(inout):: &
trcrn_bgc ! bgc subset of trcrn
trcrn_bgc ! bgc subset of trcrn

!autodocument_end

Expand Down
12 changes: 9 additions & 3 deletions columnphysics/icepack_intfc.F90
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,15 @@ module icepack_intfc
use icepack_tracers, only: icepack_max_iso => max_iso
use icepack_tracers, only: icepack_nmodal1 => nmodal1
use icepack_tracers, only: icepack_nmodal2 => nmodal2
use icepack_parameters, only: icepack_nspint => nspint

use icepack_shortwave_data, only: icepack_nspint_3bd => nspint_3bd
use icepack_shortwave_data, only: icepack_nspint_5bd => nspint_5bd

use icepack_parameters, only: icepack_init_parameters
use icepack_parameters, only: icepack_query_parameters
use icepack_parameters, only: icepack_write_parameters
use icepack_parameters, only: icepack_recompute_constants
use icepack_parameters, only: nspint, secday, spval_const
use icepack_parameters, only: secday, spval_const
use icepack_parameters, only: c0, c1, c1p5, c2, c3, c4, c5, c6, c8
use icepack_parameters, only: c10, c15, c16, c20, c25, c100, c1000
use icepack_parameters, only: p001, p01, p1, p2, p4, p5, p6, p05
Expand Down Expand Up @@ -85,6 +87,7 @@ module icepack_intfc
use icepack_snow, only: icepack_init_snow
use icepack_snow, only: icepack_step_snow

use icepack_shortwave, only: icepack_init_radiation
use icepack_shortwave, only: icepack_prep_radiation
use icepack_shortwave, only: icepack_step_radiation

Expand All @@ -109,10 +112,12 @@ module icepack_intfc
use icepack_therm_shared , only: icepack_snow_temperature
use icepack_therm_shared , only: icepack_liquidus_temperature
use icepack_therm_shared , only: icepack_sea_freezing_temperature
use icepack_therm_shared , only: icepack_enthalpy_snow
use icepack_therm_shared , only: icepack_init_thermo
use icepack_therm_shared , only: icepack_salinity_profile
use icepack_therm_shared , only: icepack_init_trcr

use icepack_mushy_physics , only: icepack_enthalpy_snow
use icepack_mushy_physics , only: icepack_enthalpy_mush
use icepack_mushy_physics , only: icepack_mushy_density_brine
use icepack_mushy_physics , only: icepack_mushy_liquid_fraction
use icepack_mushy_physics , only: icepack_mushy_temperature_mush
Expand All @@ -121,6 +126,7 @@ module icepack_intfc
use icepack_warnings, only: icepack_warnings_print
use icepack_warnings, only: icepack_warnings_flush
use icepack_warnings, only: icepack_warnings_aborted
use icepack_warnings, only: icepack_warnings_getall

!autodocument_end icepack_intfc.F90

Expand Down
Loading
Loading