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

Implement Floe Size Distribution (FSD) in Icepack #281

Merged
merged 94 commits into from
Dec 3, 2019
Merged
Changes from 1 commit
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
e0791fb
adding fsd flags to icepack interface
eclare108213 Mar 4, 2019
e104bd4
fsd initialization, lateral melt fside
eclare108213 Mar 5, 2019
5749019
correct diagnostic, reduce number of fsd arrays
eclare108213 Mar 5, 2019
dda03e2
fsd lateral melt
eclare108213 Mar 6, 2019
290f0aa
fsd add_new_ice
eclare108213 Mar 7, 2019
cdfad27
wave_spec namelist
eclare108213 Mar 7, 2019
7c085b5
subroutine fsd_lateral_growth
eclare108213 Mar 7, 2019
75e5cbf
move fsd routines to icepack_fsd.F90
eclare108213 Mar 8, 2019
ef0e168
add_new_ice using wave spectrum (0)
eclare108213 Mar 8, 2019
f03d082
welding routine, some cleanup
eclare108213 Mar 8, 2019
cba1c3b
call welding, debug
eclare108213 Mar 8, 2019
0e03797
history except io_
eclare108213 Mar 11, 2019
9cde25a
initialize hi0new
eclare108213 Mar 14, 2019
c1ffe9f
initialization bug fixes, print statements
eclare108213 Mar 18, 2019
d43e1ef
cleanup_fsd
eclare108213 Mar 20, 2019
7efbae8
Update sg_itd.rst
lettie-roach Mar 20, 2019
df45e16
Update sg_thermo.rst
lettie-roach Mar 20, 2019
c65d300
reverting order of operations
eclare108213 Mar 20, 2019
bf3fa35
Merge branch 'master' of https://github.com/CICE-Consortium/Icepack i…
Mar 21, 2019
bf673c5
Create sg_fsd.rst
lettie-roach Mar 22, 2019
2da8efe
Think processes are ok except latg
Mar 23, 2019
cced964
Tested latg and newi
Apr 17, 2019
9d9a938
Update sg_thermo.rst
lettie-roach Apr 17, 2019
0661951
Merge branch 'master' of https://github.com/cice-consortium/Icepack i…
eclare108213 Apr 19, 2019
fcedb6e
Merge branch 'ifsd1' of https://github.com/lettie-roach/Icepack into …
eclare108213 Apr 19, 2019
b7e45f8
waves for fsd
eclare108213 Apr 23, 2019
f4ff354
Add new wave module
eclare108213 Apr 27, 2019
f54f540
Testing waves
May 3, 2019
f82a09c
Working on waves, compiles but not yet tested
May 9, 2019
a484283
Update master_list.bib
lettie-roach May 30, 2019
16f5385
Update master_list.bib
lettie-roach May 30, 2019
56fb2e0
Update sg_itd.rst
lettie-roach May 30, 2019
6643e07
Update master_list.bib
lettie-roach May 30, 2019
b1c6157
Update sg_thermo.rst
lettie-roach May 30, 2019
832297c
Update master_list.bib
lettie-roach May 30, 2019
c9b3fad
Update sg_thermo.rst
lettie-roach Jun 8, 2019
3ca32e1
Update sg_itd.rst
lettie-roach Jun 8, 2019
6e75edc
Update sg_tracers.rst
lettie-roach Jun 8, 2019
c56b064
Adding summary information, references etc
lettie-roach Jun 8, 2019
9a95d49
Delete sg_fsd.rst
lettie-roach Jun 8, 2019
630184a
Update icepack_wavefracspec.F90
lettie-roach Jun 8, 2019
35f9497
Commenting icepack_fsd
lettie-roach Jun 8, 2019
483acc0
Commenting icepack_therm_itd
lettie-roach Jun 8, 2019
c8449ba
Add dummy wave spectrum file
lettie-roach Aug 6, 2019
1ec7f8f
Delete ww3_wave_spectrum_runk_withcoords_remapgx3.nc
lettie-roach Sep 4, 2019
4e42565
Calculate wave_sig_ht everywhere, not just in ice
Sep 4, 2019
209d9cf
Merge branch 'ifsd1' of https://github.com/lettie-roach/Icepack into …
Sep 4, 2019
9c287eb
Fixing wave fracture bug
Sep 7, 2019
b3970a2
Starting to add FSD to icepack driver. Not tested
Sep 19, 2019
74834b6
Debugging - now compiles and runs
Sep 19, 2019
71c5ee5
Modifying welding, adding check for wave fracture convergence
Oct 2, 2019
a9db1bc
Checking wave fracture convergence
Oct 2, 2019
612f0c7
wrap fsd call with tr_fsd flag
eclare108213 Oct 21, 2019
f44d86f
initialize nfsd, nfreq; add -s fsd12 option
eclare108213 Oct 22, 2019
a3ec51b
Merge branch 'master' of https://github.com/cice-consortium/icepack i…
eclare108213 Oct 22, 2019
79e7bc3
Add set_env,nml.fsd12 option files
eclare108213 Oct 22, 2019
70f3442
Merge pull request #1 from lettie-roach/fsd-doc
lettie-roach Oct 24, 2019
70ff2ce
Fixing typo in documentation
lettie-roach Oct 24, 2019
0c68947
Working on classifier
Oct 24, 2019
8b9974c
Wave forcing and FSD initialization
Oct 28, 2019
7682335
Adding to documentation - waves and Icepack init
lettie-roach Oct 28, 2019
ef9e4aa
carriage return
eclare108213 Oct 29, 2019
4116d8b
Merge branch 'ifsd1' of https://github.com/lettie-roach/icepack into …
eclare108213 Oct 29, 2019
87402e0
debug restarts: set wave_spec, do not change ice_in, index nt_fsd+k-1…
eclare108213 Oct 29, 2019
8728f8d
add tr_fsd conditionals to initialization
eclare108213 Oct 30, 2019
9a80ea9
abort if FSD, BGC both on; set default ice_ic
eclare108213 Oct 31, 2019
9b5a567
add FSD tests
eclare108213 Oct 31, 2019
fab7e3c
declare tr_fsd
eclare108213 Oct 31, 2019
c70806b
initialize tr_fsd
eclare108213 Oct 31, 2019
6694daa
cleaning up
eclare108213 Oct 31, 2019
657a83c
remove else from report_results.csh
eclare108213 Oct 31, 2019
f1f6b9e
Checked area conservation from wave fracture
lettie-roach Oct 31, 2019
8c92271
Merge branch 'ifsd1' of https://github.com/lettie-roach/Icepack into …
lettie-roach Oct 31, 2019
c5d376a
refactor icepack_cleanup_fsd
eclare108213 Nov 1, 2019
681602f
Merge branch 'ifsd1' of https://github.com/lettie-roach/icepack into …
eclare108213 Nov 1, 2019
3995c25
use wave_spec_type in namelist instead of wave_spec
eclare108213 Nov 1, 2019
bffacf6
for consistency with CICE driver
eclare108213 Nov 1, 2019
d0ae771
Revert "Working on classifier"
lettie-roach Nov 2, 2019
bc126c3
Merge branch 'ifsd1' of https://github.com/lettie-roach/Icepack into …
lettie-roach Nov 2, 2019
792d10f
Tidying up
lettie-roach Nov 2, 2019
063908b
Tidying up notes in code
lettie-roach Nov 4, 2019
40d5f00
updae sg_thermo
chhorvat Nov 5, 2019
2b30ec1
update wave fracture stuff
chhorvat Nov 5, 2019
0591a3e
Edits to comments
lettie-roach Nov 5, 2019
fe0b67e
Merge pull request #3 from chhorvat/patch-6
lettie-roach Nov 5, 2019
f7b8448
Merge pull request #2 from chhorvat/patch-5
lettie-roach Nov 5, 2019
9143b94
Update ug_case_settings.rst
lettie-roach Nov 5, 2019
7111441
Update sg_itd.rst
lettie-roach Nov 5, 2019
d1e2824
Update sg_thermo.rst
lettie-roach Nov 5, 2019
4b7abae
update branch to master 68bc397 and update fsd calls in the icepack d…
apcraig Nov 12, 2019
ebe43ba
update docs
eclare108213 Nov 21, 2019
aa7f82b
bug fixes for wave_spec and divzero; comment out stops
eclare108213 Nov 22, 2019
9b4af6b
Merge branch 'master' into ifsd1
apcraig Nov 22, 2019
cf1ecc0
update dfresh diagnostic calculation in icepack_therm_itd
apcraig Nov 29, 2019
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
Prev Previous commit
Next Next commit
Tidying up notes in code
  • Loading branch information
lettie-roach committed Nov 4, 2019
commit 063908b3f4224fd110230104241928d44a9c292c
28 changes: 11 additions & 17 deletions columnphysics/icepack_fsd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -56,22 +56,12 @@ module icepack_fsd
public :: icepack_init_fsd_bounds, icepack_init_fsd, icepack_cleanup_fsd, &
fsd_lateral_growth, fsd_add_new_ice, fsd_weld_thermo

real (kind=dbl_kind), public :: &
c_weld = p01 ! constant of proportionality for welding
! total number of floes that weld with another, per square meter,
! per unit time, in the case of a fully covered ice surface
! units m^-2 s^-1, value from Roach, Smith & Dean (2018)

real(kind=dbl_kind), dimension(:), allocatable :: &
floe_rad_h, & ! fsd size higher bound in m (radius)
floe_area_l, & ! fsd area at lower bound (m^2)
floe_area_h, & ! fsd area at higher bound (m^2)
floe_area_c, & ! fsd area at bin centre (m^2)
floe_area_binwidth, & ! floe area bin width (m^2)
area_scaled_l, & ! area bins scaled so they begin at zero
area_scaled_h, & ! and no binwidth is greater than 1
area_scaled_c, & ! (dimensionless)
area_scaled_binwidth
floe_area_binwidth ! floe area bin width (m^2)

integer(kind=int_kind), dimension(:,:), allocatable, public :: &
iweld ! floe size categories that can combine
Expand Down Expand Up @@ -856,15 +846,11 @@ end subroutine wave_dep_growth
!
! Floes are perimitted to weld together in freezing conditions, according
! to their geometric probability of overlap if placed randomly on the
! domain. The coagulation equation is solved using the method of Filbet
! & Laurencot (2004). The rate per unit area c_weld is the total number
! domain. The rate per unit area c_weld is the total number
! of floes that weld with another, per square meter, per unit time, in the
! case of a fully covered ice surface (aice=1), equal to twice the reduction
! in total floe number. See Roach, Smith & Dean (2018).
!
! Filbet, F., & Laurençot, P. (2004). Numerical simulation of the Smoluchowski
! coagulation equation. SIAM Journal on Scientific Computing, 25(6), 2004–2028.
! doi:10.1137/S1064827503429132
!
! authors: Lettie Roach, NIWA/VUW
!
Expand Down Expand Up @@ -896,6 +882,14 @@ subroutine fsd_weld_thermo (ncat, nfsd, &
real (kind=dbl_kind), parameter :: &
aminweld = p1 ! minimum ice concentration likely to weld

real (kind=dbl_kind) :: &
c_weld = 1.0e-8_dbl_kind
! constant of proportionality for welding
! total number of floes that weld with another, per square meter,
! per unit time, in the case of a fully covered ice surface
! units m^-2 s^-1, see documentation for details


! local variables

integer (kind=int_kind) :: &
Expand Down Expand Up @@ -935,7 +929,7 @@ subroutine fsd_weld_thermo (ncat, nfsd, &
darea_nfsd = c0
stability = c0
prefac = p5
kappa = c_weld/floe_area_binwidth(11) ! hardcoded for consistency with first implementation
kappa = c_weld

do n = 1, ncat

Expand Down