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
Show file tree
Hide file tree
Changes from all commits
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
1,025 changes: 1,025 additions & 0 deletions columnphysics/icepack_fsd.F90

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions columnphysics/icepack_intfc.F90
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,16 @@ module icepack_intfc
use icepack_itd, only: icepack_init_itd_hist
use icepack_itd, only: icepack_aggregate

use icepack_fsd, only: icepack_init_fsd_bounds
use icepack_fsd, only: icepack_init_fsd
use icepack_fsd, only: icepack_cleanup_fsd

use icepack_mechred, only: icepack_step_ridge
use icepack_mechred, only: icepack_ice_strength

use icepack_wavefracspec, only: icepack_init_wave
use icepack_wavefracspec, only: icepack_step_wavefracture

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

Expand Down
62 changes: 62 additions & 0 deletions columnphysics/icepack_parameters.F90
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,22 @@ module icepack_parameters
! 2 = WMO standard
! 3 = asymptotic formula

!-----------------------------------------------------------------------
! Parameters for the floe size distribution
!-----------------------------------------------------------------------

integer (kind=int_kind), public :: &
nfreq = 25 ! number of frequencies

real (kind=dbl_kind), public :: &
floeshape = 0.666_dbl_kind ! constant from Steele (unitless)

logical (kind=log_kind), public :: &
wave_spec = .false. ! if true, use wave forcing

character (len=char_len), public :: &
wave_spec_type = 'constant' ! 'none', 'constant', or 'random'

!-----------------------------------------------------------------------
! Parameters for melt ponds
!-----------------------------------------------------------------------
Expand Down Expand Up @@ -369,6 +385,7 @@ subroutine icepack_init_parameters( &
kalg_in, kstrength_in, krdg_partic_in, krdg_redist_in, mu_rdg_in, &
atmbndy_in, calc_strair_in, formdrag_in, highfreq_in, natmiter_in, &
tfrz_option_in, kitd_in, kcatbound_in, hs0_in, frzpnd_in, &
floeshape_in, wave_spec_in, wave_spec_type_in, nfreq_in, &
dpscale_in, rfracmin_in, rfracmax_in, pndaspect_in, hs1_in, hp1_in, &
bgc_flux_type_in, z_tracers_in, scale_bgc_in, solve_zbgc_in, &
modal_aero_in, skl_bgc_in, solve_zsal_in, grid_o_in, l_sk_in, &
Expand Down Expand Up @@ -567,6 +584,22 @@ subroutine icepack_init_parameters( &
! 2 = WMO standard
! 3 = asymptotic formula

!-----------------------------------------------------------------------
! Parameters for the floe size distribution
!-----------------------------------------------------------------------

integer (kind=int_kind), intent(in), optional :: &
nfreq_in ! number of frequencies

real (kind=dbl_kind), intent(in), optional :: &
floeshape_in ! constant from Steele (unitless)

logical (kind=log_kind), intent(in), optional :: &
wave_spec_in ! if true, use wave forcing

character (len=char_len), intent(in), optional :: &
wave_spec_type_in ! type of wave spectrum forcing

!-----------------------------------------------------------------------
! Parameters for biogeochemistry
!-----------------------------------------------------------------------
Expand Down Expand Up @@ -745,6 +778,10 @@ subroutine icepack_init_parameters( &
if (present(tfrz_option_in) ) tfrz_option = tfrz_option_in
if (present(kitd_in) ) kitd = kitd_in
if (present(kcatbound_in) ) kcatbound = kcatbound_in
if (present(floeshape_in) ) floeshape = floeshape_in
if (present(wave_spec_in) ) wave_spec = wave_spec_in
if (present(wave_spec_type_in) ) wave_spec_type = wave_spec_type_in
if (present(nfreq_in) ) nfreq = nfreq_in
if (present(hs0_in) ) hs0 = hs0_in
if (present(frzpnd_in) ) frzpnd = frzpnd_in
if (present(dpscale_in) ) dpscale = dpscale_in
Expand Down Expand Up @@ -828,6 +865,7 @@ subroutine icepack_query_parameters( &
kalg_out, kstrength_out, krdg_partic_out, krdg_redist_out, mu_rdg_out, &
atmbndy_out, calc_strair_out, formdrag_out, highfreq_out, natmiter_out, &
tfrz_option_out, kitd_out, kcatbound_out, hs0_out, frzpnd_out, &
floeshape_out, wave_spec_out, wave_spec_type_out, nfreq_out, &
dpscale_out, rfracmin_out, rfracmax_out, pndaspect_out, hs1_out, hp1_out, &
bgc_flux_type_out, z_tracers_out, scale_bgc_out, solve_zbgc_out, &
modal_aero_out, skl_bgc_out, solve_zsal_out, grid_o_out, l_sk_out, &
Expand Down Expand Up @@ -1035,6 +1073,22 @@ subroutine icepack_query_parameters( &
! 2 = WMO standard
! 3 = asymptotic formula

!-----------------------------------------------------------------------
! Parameters for the floe size distribution
!-----------------------------------------------------------------------

integer (kind=int_kind), intent(out), optional :: &
nfreq_out ! number of frequencies

real (kind=dbl_kind), intent(out), optional :: &
floeshape_out ! constant from Steele (unitless)

logical (kind=log_kind), intent(out), optional :: &
wave_spec_out ! if true, use wave forcing

character (len=char_len), intent(out), optional :: &
wave_spec_type_out ! type of wave spectrum forcing

!-----------------------------------------------------------------------
! Parameters for biogeochemistry
!-----------------------------------------------------------------------
Expand Down Expand Up @@ -1254,6 +1308,10 @@ subroutine icepack_query_parameters( &
if (present(tfrz_option_out) ) tfrz_option_out = tfrz_option
if (present(kitd_out) ) kitd_out = kitd
if (present(kcatbound_out) ) kcatbound_out = kcatbound
if (present(floeshape_out) ) floeshape_out = floeshape
if (present(wave_spec_out) ) wave_spec_out = wave_spec
if (present(wave_spec_type_out) ) wave_spec_type_out = wave_spec_type
if (present(nfreq_out) ) nfreq_out = nfreq
if (present(hs0_out) ) hs0_out = hs0
if (present(frzpnd_out) ) frzpnd_out = frzpnd
if (present(dpscale_out) ) dpscale_out = dpscale
Expand Down Expand Up @@ -1423,6 +1481,10 @@ subroutine icepack_write_parameters(iounit)
write(iounit,*) " tfrz_option = ", tfrz_option
write(iounit,*) " kitd = ", kitd
write(iounit,*) " kcatbound = ", kcatbound
write(iounit,*) " floeshape = ", floeshape
write(iounit,*) " wave_spec = ", wave_spec
write(iounit,*) " wave_spec_type= ", wave_spec_type
write(iounit,*) " nfreq = ", nfreq
write(iounit,*) " hs0 = ", hs0
write(iounit,*) " frzpnd = ", frzpnd
write(iounit,*) " dpscale = ", dpscale
Expand Down
Loading