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

Update dEdd implementation #760

Merged
merged 2 commits into from
Sep 29, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
144 changes: 96 additions & 48 deletions cicecore/cicedynB/general/ice_forcing_bgc.F90
Original file line number Diff line number Diff line change
Expand Up @@ -889,68 +889,116 @@ subroutine faero_optics

! this data is used in bulk aerosol treatment in dEdd radiation
kaer_tab = reshape((/ & ! aerosol mass extinction cross section (m2/kg)
11580.61872, 5535.41835, 2793.79690, &
25798.96479, 11536.03871, 4688.24207, &
196.49772, 204.14078, 214.42287, &
2665.85867, 2256.71027, 820.36024, &
840.78295, 1028.24656, 1163.03298, &
387.51211, 414.68808, 450.29814/), &
! 11580.61872, 5535.41835, 2793.79690, &
! 25798.96479, 11536.03871, 4688.24207, &
! 196.49772, 204.14078, 214.42287, &
! 2665.85867, 2256.71027, 820.36024, &
! 840.78295, 1028.24656, 1163.03298, &
! 387.51211, 414.68808, 450.29814/), &
11580.61872_dbl_kind, 5535.41835_dbl_kind, 2793.79690_dbl_kind, &
25798.96479_dbl_kind, 11536.03871_dbl_kind, 4688.24207_dbl_kind, &
196.49772_dbl_kind, 204.14078_dbl_kind, 214.42287_dbl_kind, &
2665.85867_dbl_kind, 2256.71027_dbl_kind, 820.36024_dbl_kind, &
840.78295_dbl_kind, 1028.24656_dbl_kind, 1163.03298_dbl_kind, &
387.51211_dbl_kind, 414.68808_dbl_kind, 450.29814_dbl_kind/), &
(/icepack_nspint,icepack_max_aero/))
waer_tab = reshape((/ & ! aerosol single scatter albedo (fraction)
0.29003, 0.17349, 0.06613, &
0.51731, 0.41609, 0.21324, &
0.84467, 0.94216, 0.95666, &
0.97764, 0.99402, 0.98552, &
0.94146, 0.98527, 0.99093, &
0.90034, 0.96543, 0.97678/), &
! 0.29003, 0.17349, 0.06613, &
! 0.51731, 0.41609, 0.21324, &
! 0.84467, 0.94216, 0.95666, &
! 0.97764, 0.99402, 0.98552, &
! 0.94146, 0.98527, 0.99093, &
! 0.90034, 0.96543, 0.97678/), &
0.29003_dbl_kind, 0.17349_dbl_kind, 0.06613_dbl_kind, &
0.51731_dbl_kind, 0.41609_dbl_kind, 0.21324_dbl_kind, &
0.84467_dbl_kind, 0.94216_dbl_kind, 0.95666_dbl_kind, &
0.97764_dbl_kind, 0.99402_dbl_kind, 0.98552_dbl_kind, &
0.94146_dbl_kind, 0.98527_dbl_kind, 0.99093_dbl_kind, &
0.90034_dbl_kind, 0.96543_dbl_kind, 0.97678_dbl_kind/), &
(/icepack_nspint,icepack_max_aero/))
gaer_tab = reshape((/ & ! aerosol asymmetry parameter (cos(theta))
0.35445, 0.19838, 0.08857, &
0.52581, 0.32384, 0.14970, &
0.83162, 0.78306, 0.74375, &
0.68861, 0.70836, 0.54171, &
0.70239, 0.66115, 0.71983, &
0.78734, 0.73580, 0.64411/), &
! 0.35445, 0.19838, 0.08857, &
! 0.52581, 0.32384, 0.14970, &
! 0.83162, 0.78306, 0.74375, &
! 0.68861, 0.70836, 0.54171, &
! 0.70239, 0.66115, 0.71983, &
! 0.78734, 0.73580, 0.64411/), &
0.35445_dbl_kind, 0.19838_dbl_kind, 0.08857_dbl_kind, &
0.52581_dbl_kind, 0.32384_dbl_kind, 0.14970_dbl_kind, &
0.83162_dbl_kind, 0.78306_dbl_kind, 0.74375_dbl_kind, &
0.68861_dbl_kind, 0.70836_dbl_kind, 0.54171_dbl_kind, &
0.70239_dbl_kind, 0.66115_dbl_kind, 0.71983_dbl_kind, &
0.78734_dbl_kind, 0.73580_dbl_kind, 0.64411_dbl_kind/), &
(/icepack_nspint,icepack_max_aero/))

! this data is used in MODAL AEROSOL treatment in dEdd radiation
kaer_bc_tab = reshape((/ & ! aerosol mass extinction cross section (m2/kg)
12955.44732, 5946.89461, 2772.33366, &
12085.30664, 7438.83131, 3657.13084, &
9753.99698, 7342.87139, 4187.79304, &
7815.74879, 6659.65096, 4337.98863, &
6381.28194, 5876.78408, 4254.65054, &
5326.93163, 5156.74532, 4053.66581, &
4538.09763, 4538.60875, 3804.10884, &
3934.17604, 4020.20799, 3543.27199, &
3461.20656, 3587.80962, 3289.98060, &
3083.03396, 3226.27231, 3052.91441/), &
! 12955.44732, 5946.89461, 2772.33366, &
! 12085.30664, 7438.83131, 3657.13084, &
! 9753.99698, 7342.87139, 4187.79304, &
! 7815.74879, 6659.65096, 4337.98863, &
! 6381.28194, 5876.78408, 4254.65054, &
! 5326.93163, 5156.74532, 4053.66581, &
! 4538.09763, 4538.60875, 3804.10884, &
! 3934.17604, 4020.20799, 3543.27199, &
! 3461.20656, 3587.80962, 3289.98060, &
! 3083.03396, 3226.27231, 3052.91441/), &
12955.4473151973_dbl_kind, 5946.89461205564_dbl_kind, 2772.33366387720_dbl_kind, &
12085.3066388712_dbl_kind, 7438.83131367992_dbl_kind, 3657.13084442081_dbl_kind, &
9753.99697536893_dbl_kind, 7342.87139082553_dbl_kind, 4187.79303607928_dbl_kind, &
7815.74879345131_dbl_kind, 6659.65096365965_dbl_kind, 4337.98863414228_dbl_kind, &
6381.28194381772_dbl_kind, 5876.78408231865_dbl_kind, 4254.65053724305_dbl_kind, &
5326.93163497508_dbl_kind, 5156.74531505734_dbl_kind, 4053.66581550147_dbl_kind, &
4538.09762614960_dbl_kind, 4538.60874501597_dbl_kind, 3804.10884202567_dbl_kind, &
3934.17604000777_dbl_kind, 4020.20798667897_dbl_kind, 3543.27199302277_dbl_kind, &
3461.20655708248_dbl_kind, 3587.80961820605_dbl_kind, 3289.98060303894_dbl_kind, &
3083.03396032095_dbl_kind, 3226.27231329114_dbl_kind, 3052.91440681137_dbl_kind/), &
(/icepack_nspint,10/))

waer_bc_tab = reshape((/ & ! aerosol single scatter albedo (fraction)
0.26107, 0.15861, 0.06535, &
0.37559, 0.30318, 0.19483, &
0.42224, 0.36913, 0.27875, &
0.44777, 0.40503, 0.33026, &
0.46444, 0.42744, 0.36426, &
0.47667, 0.44285, 0.38827, &
0.48635, 0.45428, 0.40617, &
0.49440, 0.46328, 0.42008, &
0.50131, 0.47070, 0.43128, &
0.50736, 0.47704, 0.44056/), &
! 0.26107, 0.15861, 0.06535, &
! 0.37559, 0.30318, 0.19483, &
! 0.42224, 0.36913, 0.27875, &
! 0.44777, 0.40503, 0.33026, &
! 0.46444, 0.42744, 0.36426, &
! 0.47667, 0.44285, 0.38827, &
! 0.48635, 0.45428, 0.40617, &
! 0.49440, 0.46328, 0.42008, &
! 0.50131, 0.47070, 0.43128, &
! 0.50736, 0.47704, 0.44056/), &
0.261071919959011_dbl_kind, 0.158608047940651_dbl_kind, 0.0653546447770291_dbl_kind, &
0.375593873543050_dbl_kind, 0.303181671502553_dbl_kind, 0.194832290545495_dbl_kind, &
0.422240383488477_dbl_kind, 0.369134186611324_dbl_kind, 0.278752556671685_dbl_kind, &
0.447772153910671_dbl_kind, 0.405033725319593_dbl_kind, 0.330260831965086_dbl_kind, &
0.464443094570456_dbl_kind, 0.427439117980081_dbl_kind, 0.364256689383418_dbl_kind, &
0.476668995985241_dbl_kind, 0.442854173154887_dbl_kind, 0.388270470928338_dbl_kind, &
0.486347881475941_dbl_kind, 0.454284736567521_dbl_kind, 0.406167596922937_dbl_kind, &
0.494397834153785_dbl_kind, 0.463279526357470_dbl_kind, 0.420084410794128_dbl_kind, &
0.501307856563459_dbl_kind, 0.470696914968199_dbl_kind, 0.431284889617716_dbl_kind, &
0.507362336297419_dbl_kind, 0.477038272961243_dbl_kind, 0.440559363958571_dbl_kind/), &
(/icepack_nspint,10/))

gaer_bc_tab = reshape((/ & ! aerosol asymmetry parameter (cos(theta))
0.28328, 0.19644, 0.10498, &
0.44488, 0.32615, 0.19612, &
0.54724, 0.41611, 0.26390, &
0.61711, 0.48475, 0.31922, &
0.66673, 0.53923, 0.36632, &
0.70296, 0.58337, 0.40732, &
0.73002, 0.61960, 0.44344, &
0.75064, 0.64959, 0.47551, &
0.76663, 0.67461, 0.50415, &
0.77926, 0.69561, 0.52981/),&
! 0.28328, 0.19644, 0.10498, &
! 0.44488, 0.32615, 0.19612, &
! 0.54724, 0.41611, 0.26390, &
! 0.61711, 0.48475, 0.31922, &
! 0.66673, 0.53923, 0.36632, &
! 0.70296, 0.58337, 0.40732, &
! 0.73002, 0.61960, 0.44344, &
! 0.75064, 0.64959, 0.47551, &
! 0.76663, 0.67461, 0.50415, &
! 0.77926, 0.69561, 0.52981/),&
0.283282988564031_dbl_kind, 0.196444209821980_dbl_kind, 0.104976473902976_dbl_kind, &
0.444877326083453_dbl_kind, 0.326147707342261_dbl_kind, 0.196121968923488_dbl_kind, &
0.547243414035631_dbl_kind, 0.416106187964493_dbl_kind, 0.263903486903711_dbl_kind, &
0.617111563012282_dbl_kind, 0.484745531707601_dbl_kind, 0.319218974395050_dbl_kind, &
0.666728525631754_dbl_kind, 0.539228555802301_dbl_kind, 0.366323180358996_dbl_kind, &
0.702956870835387_dbl_kind, 0.583372441336763_dbl_kind, 0.407316408184865_dbl_kind, &
0.730016668453191_dbl_kind, 0.619595539349710_dbl_kind, 0.443436944107423_dbl_kind, &
0.750635997128011_dbl_kind, 0.649589805870541_dbl_kind, 0.475512089138887_dbl_kind, &
0.766634959089444_dbl_kind, 0.674609076223658_dbl_kind, 0.504145461809103_dbl_kind, &
0.779256641759228_dbl_kind, 0.695614224933709_dbl_kind, 0.529805346632687_dbl_kind/), &
(/icepack_nspint,10/))

bcenh(:,:,:) = c0
Expand Down
30 changes: 30 additions & 0 deletions configuration/scripts/options/set_nml.bgczm
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
nilyr = 7
nslyr = 1
ncat = 5
nblyr = 7
n_aero = 0
n_zaero = 3
n_algae = 3
n_doc = 2
n_dic = 0
n_don = 1
n_fed = 1
n_fep = 1
ice_ic = 'none'
tr_brine = .true.
tr_zaero = .true.
z_tracers = .true.
solve_zbgc = .true.
scale_bgc = .true.
bgc_data_type = 'default'
tr_bgc_Nit = .true.
tr_bgc_C = .true.
tr_bgc_Am = .true.
tr_bgc_Sil = .true.
tr_bgc_DMS = .true.
tr_bgc_PON = .true.
tr_bgc_hum = .true.
tr_bgc_DON = .true.
tr_bgc_Fe = .true.
modal_aero = .true.
# dEdd_algae = .true.
4 changes: 4 additions & 0 deletions configuration/scripts/options/set_nml.modal
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
shortwave = 'dEdd'
tr_aero = .true.
modal_aero = .true.

3 changes: 2 additions & 1 deletion configuration/scripts/tests/base_suite.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,9 @@ smoke gbox128 4x4 boxrestore,short,debug
restart gbox80 1x1 box2001
smoke gbox80 1x1 boxslotcyl
smoke gbox12 1x1x12x12x1 boxchan,diag1,debug
restart gx3 8x2 modal
smoke gx3 8x2 bgcz
smoke gx3 8x2 bgcz,debug
smoke gx3 8x2 bgczm,debug
smoke gx3 8x1 bgcskl,debug
#smoke gx3 4x1 bgcz,thread smoke_gx3_8x2_bgcz
restart gx1 4x2 bgcsklclim,medium
Expand Down
10 changes: 5 additions & 5 deletions configuration/scripts/tests/io_suite.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ restart gx3 8x4 alt04,histall,ionetcdf,cdf64
restart gx3 8x4 alt05,histall,ionetcdf,precision8,cdf64
restart gx3 16x2 alt06,histall,ionetcdf
restart gx3 16x2 alt07,histall,ionetcdf
restart gx3 30x1 bgcz,histall,ionetcdf
restart gx3 30x1 bgczm,histall,ionetcdf
restart gx3 15x2 bgcskl,histall,ionetcdf,precision8
restart gx3 31x1 isotope,histall,ionetcdf,cdf64
restart gx3 14x2 fsd12,histall,ionetcdf,precision8
Expand All @@ -37,7 +37,7 @@ restart gx3 8x4 alt04,histall,iopio1,precision8,cdf64
restart gx3 8x4 alt05,histall,iopio1,cdf64
restart gx3 32x1 alt06,histall,iopio1,precision8
restart gx3 32x1 alt07,histall,iopio1,precision8
restart gx3 16x2 bgcz,histall,iopio1,precision8
restart gx3 16x2 bgczm,histall,iopio1,precision8
restart gx3 30x1 bgcskl,histall,iopio1
restart gx3 8x4 isotope,histall,iopio1,precision8,cdf64
restart gx3 12x2 fsd12,histall,iopio1,cdf64
Expand All @@ -51,7 +51,7 @@ restart gx3 8x4 alt04,histall,iopio2
restart gx3 8x4 alt05,histall,iopio2,precision8,cdf64
restart gx3 16x2 alt06,histall,iopio2,cdf64
restart gx3 16x2 alt07,histall,iopio2,cdf64
restart gx3 16x2 bgcz,histall,iopio2,cdf64
restart gx3 16x2 bgczm,histall,iopio2,cdf64
restart gx3 30x1 bgcskl,histall,iopio2,precision8
restart gx3 8x4 isotope,histall,iopio2
restart gx3 12x2 fsd12,histall,iopio2,precision8,cdf64
Expand All @@ -65,7 +65,7 @@ restart gx3 8x4 alt04,histall,iopio1p,precision8
restart gx3 8x4 alt05,histall,iopio1p
restart gx3 6x4 alt06,histall,iopio1p,precision8,cdf64
restart gx3 6x4 alt07,histall,iopio1p,precision8,cdf64
restart gx3 16x2 bgcz,histall,iopio1p,precision8,cdf64
restart gx3 16x2 bgczm,histall,iopio1p,precision8,cdf64
restart gx3 30x1 bgcskl,histall,iopio1p,cdf64
restart gx3 8x4 isotope,histall,iopio1p,precision8
restart gx3 12x2 fsd12,histall,iopio1p
Expand All @@ -79,7 +79,7 @@ restart gx3 8x4 alt04,histall,iopio2p,cdf64
restart gx3 8x4 alt05,histall,iopio2p,precision8
restart gx3 24x1 alt06,histall,iopio2p
restart gx3 24x1 alt07,histall,iopio2p
restart gx3 16x2 bgcz,histall,iopio2p
restart gx3 16x2 bgczm,histall,iopio2p
restart gx3 30x1 bgcskl,histall,iopio2p,precision8,cdf64
restart gx3 8x4 isotope,histall,iopio2p,cdf64
restart gx3 12x2 fsd12,histall,iopio2p,precision8
Expand Down
2 changes: 1 addition & 1 deletion configuration/scripts/tests/nothread_suite.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ restart gx3 12x1 short
#restart gx1 24x1 short

smoke gx3 16x1 bgcz
smoke gx3 16x1 bgcz,debug
smoke gx3 16x1 bgczm,debug
smoke gx3 24x1 bgcskl,debug
#tcraig, hangs nodes intermittently on izumi
#restart gx1 128x1 bgcsklclim,medium
Expand Down
12 changes: 6 additions & 6 deletions configuration/scripts/tests/omp_suite.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ smoke gx3 4x4 alt04,reprosum,run10day
smoke gx3 4x4 alt05,reprosum,run10day
smoke gx3 8x2 alt06,reprosum,run10day
smoke gx3 7x2 alt07,reprosum,run10day
smoke gx3 8x2 bgcz,reprosum,run10day
smoke gx3 8x2 bgczm,reprosum,run10day
smoke gx1 15x2 reprosum,run10day
smoke gx1 15x2 seabedprob,reprosum,run10day
smoke gx3 14x2 fsd12,reprosum,run10day
Expand All @@ -34,7 +34,7 @@ smoke gx3 8x1 alt04,reprosum,run10day,cmplogrest,thread
smoke gx3 8x1 alt05,reprosum,run10day,cmplogrest,thread smoke_gx3_4x4_alt05_reprosum_run10day
smoke gx3 8x1 alt06,reprosum,run10day,cmplogrest,thread smoke_gx3_8x2_alt06_reprosum_run10day
smoke gx3 8x1 alt07,reprosum,run10day,cmplogrest,thread smoke_gx3_7x2_alt07_reprosum_run10day
smoke gx3 8x1 bgcz,reprosum,run10day,cmplogrest,thread smoke_gx3_8x2_bgcz_reprosum_run10day
smoke gx3 8x1 bgczm,reprosum,run10day,cmplogrest,thread smoke_gx3_8x2_bgczm_reprosum_run10day
smoke gx1 18x1 reprosum,run10day,cmplogrest,thread smoke_gx1_15x2_reprosum_run10day
smoke gx1 18x1 seabedprob,reprosum,run10day,cmplogrest,thread smoke_gx1_15x2_reprosum_run10day_seabedprob
smoke gx3 8x1 fsd12,reprosum,run10day,cmplogrest,thread smoke_gx3_14x2_fsd12_reprosum_run10day
Expand Down Expand Up @@ -62,7 +62,7 @@ smoke gx3 4x4 alt04,reprosum,run10day,gridc
smoke gx3 4x4 alt05,reprosum,run10day,gridc
smoke gx3 8x2 alt06,reprosum,run10day,gridc
smoke gx3 7x2 alt07,reprosum,run10day,gridc
smoke gx3 8x2 bgcz,reprosum,run10day,gridc
smoke gx3 8x2 bgczm,reprosum,run10day,gridc
smoke gx1 15x2 reprosum,run10day,gridc
smoke gx1 15x2 seabedprob,reprosum,run10day,gridc
smoke gx3 14x2 fsd12,reprosum,run10day,gridc
Expand All @@ -88,7 +88,7 @@ smoke gx3 8x1 alt04,reprosum,run10day,cmplogrest,thread,grid
smoke gx3 8x1 alt05,reprosum,run10day,cmplogrest,thread,gridc smoke_gx3_4x4_alt05_gridc_reprosum_run10day
smoke gx3 8x1 alt06,reprosum,run10day,cmplogrest,thread,gridc smoke_gx3_8x2_alt06_gridc_reprosum_run10day
smoke gx3 8x1 alt07,reprosum,run10day,cmplogrest,thread,gridc smoke_gx3_7x2_alt07_gridc_reprosum_run10day
smoke gx3 8x1 bgcz,reprosum,run10day,cmplogrest,thread,gridc smoke_gx3_8x2_bgcz_gridc_reprosum_run10day
smoke gx3 8x1 bgczm,reprosum,run10day,cmplogrest,thread,gridc smoke_gx3_8x2_bgczm_gridc_reprosum_run10day
smoke gx1 18x1 reprosum,run10day,cmplogrest,thread,gridc smoke_gx1_15x2_gridc_reprosum_run10day
smoke gx1 18x1 seabedprob,reprosum,run10day,cmplogrest,thread,gridc smoke_gx1_15x2_gridc_reprosum_run10day_seabedprob
smoke gx3 8x1 fsd12,reprosum,run10day,cmplogrest,thread,gridc smoke_gx3_14x2_fsd12_gridc_reprosum_run10day
Expand Down Expand Up @@ -116,7 +116,7 @@ smoke gx3 4x4 alt04,reprosum,run10day,gridcd
smoke gx3 4x4 alt05,reprosum,run10day,gridcd
smoke gx3 8x2 alt06,reprosum,run10day,gridcd
smoke gx3 7x2 alt07,reprosum,run10day,gridcd
smoke gx3 8x2 bgcz,reprosum,run10day,gridcd
smoke gx3 8x2 bgczm,reprosum,run10day,gridcd
smoke gx1 15x2 reprosum,run10day,gridcd
smoke gx1 15x2 seabedprob,reprosum,run10day,gridcd
smoke gx3 14x2 fsd12,reprosum,run10day,gridcd
Expand All @@ -142,7 +142,7 @@ smoke gx3 8x1 alt04,reprosum,run10day,cmplogrest,thread,grid
smoke gx3 8x1 alt05,reprosum,run10day,cmplogrest,thread,gridcd smoke_gx3_4x4_alt05_gridcd_reprosum_run10day
smoke gx3 8x1 alt06,reprosum,run10day,cmplogrest,thread,gridcd smoke_gx3_8x2_alt06_gridcd_reprosum_run10day
smoke gx3 8x1 alt07,reprosum,run10day,cmplogrest,thread,gridcd smoke_gx3_7x2_alt07_gridcd_reprosum_run10day
smoke gx3 8x1 bgcz,reprosum,run10day,cmplogrest,thread,gridcd smoke_gx3_8x2_bgcz_gridcd_reprosum_run10day
smoke gx3 8x1 bgczm,reprosum,run10day,cmplogrest,thread,gridcd smoke_gx3_8x2_bgczm_gridcd_reprosum_run10day
smoke gx1 18x1 reprosum,run10day,cmplogrest,thread,gridcd smoke_gx1_15x2_gridcd_reprosum_run10day
smoke gx1 18x1 seabedprob,reprosum,run10day,cmplogrest,thread,gridcd smoke_gx1_15x2_gridcd_reprosum_run10day_seabedprob
smoke gx3 8x1 fsd12,reprosum,run10day,cmplogrest,thread,gridcd smoke_gx3_14x2_fsd12_gridcd_reprosum_run10day
Expand Down
Loading