From 1c51e1493880c0222c17445eaf7cff1180b4cb7e Mon Sep 17 00:00:00 2001 From: Elizabeth Hunke Date: Sat, 12 Dec 2020 13:18:53 -0700 Subject: [PATCH 1/3] zsalinity test --- configuration/scripts/options/set_env.zsal | 10 ++++++++++ configuration/scripts/options/set_nml.zsal | 5 +++++ configuration/scripts/tests/base_suite.ts | 2 ++ 3 files changed, 17 insertions(+) create mode 100644 configuration/scripts/options/set_env.zsal create mode 100644 configuration/scripts/options/set_nml.zsal diff --git a/configuration/scripts/options/set_env.zsal b/configuration/scripts/options/set_env.zsal new file mode 100644 index 000000000..a9f52bb6c --- /dev/null +++ b/configuration/scripts/options/set_env.zsal @@ -0,0 +1,10 @@ +### Layers +setenv NICELYR 7 # number of vertical layers in the ice +setenv NSNWLYR 1 # number of vertical layers in the snow +setenv NICECAT 5 # number of ice thickness categories + +### Tracers # match icepack_in tracer_nml to conserve memory +setenv TRBRI 1 # set to 1 for brine height tracer +setenv TRZS 1 # set to 1 for zsalinity tracer + # (needs TRBRI = 1) +setenv NBGCLYR 7 # number of zbgc layers diff --git a/configuration/scripts/options/set_nml.zsal b/configuration/scripts/options/set_nml.zsal new file mode 100644 index 000000000..9276fb319 --- /dev/null +++ b/configuration/scripts/options/set_nml.zsal @@ -0,0 +1,5 @@ +ktherm = 1 +sw_redist = .true. +tfrz_option = 'linear_salt' +tr_brine = .true. +solve_zsal = .true. diff --git a/configuration/scripts/tests/base_suite.ts b/configuration/scripts/tests/base_suite.ts index b8bec9d85..194ffbf33 100644 --- a/configuration/scripts/tests/base_suite.ts +++ b/configuration/scripts/tests/base_suite.ts @@ -4,6 +4,7 @@ smoke col 1x1 debug,run1year smoke col 1x1 debug,bgcISPOL smoke col 1x1 debug,bgcNICE smoke col 1x1 debug,bgcsklNICE +smoke col 1x1 debug,run1year,zsal smoke col 1x1 debug,run1year,thermo1 smoke col 1x1 debug,run1year,swredist smoke col 1x1 debug,run1year,swccsm3 @@ -21,6 +22,7 @@ restart col 1x1 pondcesm restart col 1x1 pondlvl restart col 1x1 pondtopo restart col 1x1 bgcISPOL +restart col 1x1 zsal restart col 1x1 thermo1 restart col 1x1 swccsm3 restart col 1x1 isotope From b8cb1aca72da81f5343169020b07eefefdcb5660 Mon Sep 17 00:00:00 2001 From: Elizabeth Hunke Date: Sat, 19 Dec 2020 21:32:32 -0700 Subject: [PATCH 2/3] bug fixes: set solve_zsal as an icepack parameter, and fix diagnostic output --- .../driver/icedrv_diagnostics_bgc.F90 | 23 ++++++++++--------- configuration/driver/icedrv_init_column.F90 | 2 +- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/configuration/driver/icedrv_diagnostics_bgc.F90 b/configuration/driver/icedrv_diagnostics_bgc.F90 index f0f5b741d..151a72680 100644 --- a/configuration/driver/icedrv_diagnostics_bgc.F90 +++ b/configuration/driver/icedrv_diagnostics_bgc.F90 @@ -794,7 +794,7 @@ subroutine zsal_diags () !----------------------------------------------------------------- ! NOTE these are computed for the last timestep only (not avg) - do n = 1, nx + do n = 1, nx pfzsal = fzsal(n) pfzsal_g = fzsal_g(n) phinS = c0 @@ -850,7 +850,6 @@ subroutine zsal_diags () do k = 1,nilyr pSice(k) = trcr(n,nt_sice+k-1) enddo - enddo ! nx !----------------------------------------------------------------- ! start spewing @@ -858,17 +857,17 @@ subroutine zsal_diags () write(nu_diag_out+n-1,*) ' ' write(nu_diag_out+n-1,*) ' Brine height ' - write(nu_diag_out+n-1,900) 'hbrin = ',phinS - write(nu_diag_out+n-1,900) 'hbrin cat 1 = ',phinS1 - write(nu_diag_out+n-1,900) 'Freeboard = ',phbrn - write(nu_diag_out+n-1,900) 'dhbrin cat 1 top = ',pdh_top1 - write(nu_diag_out+n-1,900) 'dhbrin cat 1 bottom = ',pdh_bot1 + write(nu_diag_out+n-1,900) 'hbrin = ',phinS(n) + write(nu_diag_out+n-1,900) 'hbrin cat 1 = ',phinS1(n) + write(nu_diag_out+n-1,900) 'Freeboard = ',phbrn(n) + write(nu_diag_out+n-1,900) 'dhbrin cat 1 top = ',pdh_top1(n) + write(nu_diag_out+n-1,900) 'dhbrin cat 1 bottom = ',pdh_bot1(n) write(nu_diag_out+n-1,*) ' ' write(nu_diag_out+n-1,*) ' zSalinity ' - write(nu_diag_out+n-1,900) 'Avg density (kg/m^3) = ',psice_rho - write(nu_diag_out+n-1,900) 'Salt flux (kg/m^2/s) = ',pfzsal - write(nu_diag_out+n-1,900) 'Grav. Drain. Salt flux = ',pfzsal_g - write(nu_diag_out+n-1,900) 'Darcy V cat 1 (m/s) = ',pdarcy_V1 + write(nu_diag_out+n-1,900) 'Avg density (kg/m^3) = ',psice_rho(n) + write(nu_diag_out+n-1,900) 'Salt flux (kg/m^2/s) = ',pfzsal(n) + write(nu_diag_out+n-1,900) 'Grav. Drain. Salt flux = ',pfzsal_g(n) + write(nu_diag_out+n-1,900) 'Darcy V cat 1 (m/s) = ',pdarcy_V1(n) write(nu_diag_out+n-1,*) ' ' write(nu_diag_out+n-1,*) ' Top down bgc Layer Model' write(nu_diag_out+n-1,*) ' ' @@ -901,6 +900,8 @@ subroutine zsal_diags () write(nu_diag_out+n-1,802) (pSice(k), k = 1,nilyr) write(nu_diag_out+n-1,*) ' ' + enddo ! nx + 802 format (f24.17,2x) 803 format (a25,2x) 900 format (a25,2x,f24.17) diff --git a/configuration/driver/icedrv_init_column.F90 b/configuration/driver/icedrv_init_column.F90 index c3b0f8b4d..582f17a5e 100644 --- a/configuration/driver/icedrv_init_column.F90 +++ b/configuration/driver/icedrv_init_column.F90 @@ -1225,7 +1225,7 @@ subroutine init_zbgc fr_dFe_in=fr_dFe, k_nitrif_in=k_nitrif, t_iron_conv_in=t_iron_conv, & max_loss_in=max_loss, max_dfe_doc1_in=max_dfe_doc1, fr_resp_in=fr_resp, & fr_resp_s_in=fr_resp_s, y_sk_DMS_in=y_sk_DMS, t_sk_conv_in=t_sk_conv, & - t_sk_ox_in=t_sk_ox, modal_aero_in=modal_aero) + t_sk_ox_in=t_sk_ox, modal_aero_in=modal_aero, solve_zsal_in=solve_zsal) call icepack_warnings_flush(nu_diag) if (icepack_warnings_aborted()) call icedrv_system_abort(string=subname, & file=__FILE__, line=__LINE__) From 97f33cb0bd1bfbe9253eb403a3d0d8f6eb4a56a5 Mon Sep 17 00:00:00 2001 From: Elizabeth Hunke Date: Sat, 19 Dec 2020 21:44:41 -0700 Subject: [PATCH 3/3] cosmetic --- configuration/scripts/options/set_nml.zsal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configuration/scripts/options/set_nml.zsal b/configuration/scripts/options/set_nml.zsal index 9276fb319..2c7eda3ff 100644 --- a/configuration/scripts/options/set_nml.zsal +++ b/configuration/scripts/options/set_nml.zsal @@ -1,4 +1,4 @@ -ktherm = 1 +ktherm = 1 sw_redist = .true. tfrz_option = 'linear_salt' tr_brine = .true.