Skip to content

Commit

Permalink
Update version to Icepack 1.3.3 (#419)
Browse files Browse the repository at this point in the history
Update interface documentation
Remove trailing blanks in source code
  • Loading branch information
apcraig authored Dec 7, 2022
1 parent 8637a2d commit 8f96707
Show file tree
Hide file tree
Showing 25 changed files with 399 additions and 441 deletions.
10 changes: 5 additions & 5 deletions columnphysics/icepack_itd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1309,9 +1309,9 @@ subroutine zap_small_areas (dt, ntrcr, &
!-----------------------------------------------------------------

xtmp = (rhoi*vicen(n) + rhos*vsnon(n)) &
* (aice-c1)/aice / dt
dfresh = dfresh + xtmp
* (aice-c1)/aice / dt
dfresh = dfresh + xtmp

if (saltflux_option == 'prognostic') then
sicen = c0
do k=1,nilyr
Expand All @@ -1323,8 +1323,8 @@ subroutine zap_small_areas (dt, ntrcr, &
xtmp = rhoi*vicen(n)*ice_ref_salinity*p001 &
* (aice-c1)/aice / dt
endif
dfsalt = dfsalt + xtmp
dfsalt = dfsalt + xtmp

if (solve_zsal) then
do k = 1,nblyr
xtmp = rhosi*trcrn(nt_fbri,n)*vicen(n)*p001&
Expand Down
2 changes: 1 addition & 1 deletion columnphysics/icepack_parameters.F90
Original file line number Diff line number Diff line change
Expand Up @@ -563,7 +563,7 @@ subroutine icepack_init_parameters( &
dSdt_slow_mode_in , & ! slow mode drainage strength (m s-1 K-1)
phi_c_slow_mode_in , & ! liquid fraction porosity cutoff for slow mode
phi_i_mushy_in ! liquid fraction of congelation ice

character(len=*), intent(in), optional :: &
tfrz_option_in ! form of ocean freezing temperature
! 'minus1p8' = -1.8 C
Expand Down
2 changes: 1 addition & 1 deletion columnphysics/icepack_therm_itd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1605,7 +1605,7 @@ subroutine add_new_ice (ncat, nilyr, &
!-----------------------------------------------------------------

if (update_ocn_f) then
dfresh = -rhoi*vi0new/dt
dfresh = -rhoi*vi0new/dt
if (saltflux_option == 'prognostic') then
dfsalt = Si0new*p001*dfresh
else
Expand Down
2 changes: 1 addition & 1 deletion columnphysics/icepack_therm_vertical.F90
Original file line number Diff line number Diff line change
Expand Up @@ -453,7 +453,7 @@ subroutine thermo_vertical (nilyr, nslyr, &
else
fsaltn = fsaltn - rhoi*dhi*ice_ref_salinity*p001/dt
endif
fhocnn = fhocnn + fadvocn ! for ktherm=2
fhocnn = fhocnn + fadvocn ! for ktherm=2

if (hin == c0) then
if (tr_pond_topo) fpond = fpond - aicen * apond * hpond
Expand Down
2 changes: 1 addition & 1 deletion columnphysics/version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
ICEPACK 1.3.2
ICEPACK 1.3.3
4 changes: 2 additions & 2 deletions configuration/driver/icedrv_InitMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ subroutine icedrv_initialize
use icedrv_flux, only: init_coupler_flux, init_history_therm, &
init_flux_atm_ocn
use icedrv_forcing, only: init_forcing, get_forcing, get_wave_spec
use icedrv_forcing_bgc, only: get_forcing_bgc, faero_default, fiso_default, init_forcing_bgc
use icedrv_forcing_bgc, only: get_forcing_bgc, faero_default, fiso_default, init_forcing_bgc
use icedrv_restart_shared, only: restart
use icedrv_init, only: input_data, init_state, init_grid2, init_fsd
use icedrv_init_column, only: init_thermo_vertical, init_shortwave, init_zbgc
Expand Down Expand Up @@ -138,7 +138,7 @@ subroutine icedrv_initialize
if (icepack_warnings_aborted()) call icedrv_system_abort(string=subname, &
file=__FILE__,line= __LINE__)

call init_forcing ! initialize forcing (standalone)
call init_forcing ! initialize forcing (standalone)
if (skl_bgc .or. z_tracers) call init_forcing_bgc !cn
if (tr_fsd .and. wave_spec) call get_wave_spec ! wave spectrum in ice
call get_forcing(istep1) ! get forcing from data arrays
Expand Down
18 changes: 9 additions & 9 deletions configuration/driver/icedrv_MAIN.F90
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
!=======================================================================
! Copyright (c) 2022, Triad National Security, LLC
! All rights reserved.
!
!
! Copyright 2022. Triad National Security, LLC. This software was
! produced under U.S. Government contract DE-AC52-06NA25396 for Los
! produced under U.S. Government contract DE-AC52-06NA25396 for Los
! Alamos National Laboratory (LANL), which is operated by Triad
! National Security, LLC for the U.S. Department of Energy. The U.S.
! Government has rights to use, reproduce, and distribute this software.
! NEITHER THE GOVERNMENT NOR TRIAD NATIONAL SECURITY, LLC MAKES ANY
! National Security, LLC for the U.S. Department of Energy. The U.S.
! Government has rights to use, reproduce, and distribute this software.
! NEITHER THE GOVERNMENT NOR TRIAD NATIONAL SECURITY, LLC MAKES ANY
! WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LIABILITY FOR THE USE OF
! THIS SOFTWARE. If software is modified to produce derivative works,
! such modified software should be clearly marked, so as not to confuse
! THIS SOFTWARE. If software is modified to produce derivative works,
! such modified software should be clearly marked, so as not to confuse
! it with the version available from LANL.
!
! The full license and distribution policy are available from
! https://github.com/CICE-Consortium
!
!
!=======================================================================

! Main driver routine for Icepack, the column package for CICE.
! Main driver routine for Icepack, the column package for CICE.
! Initializes and steps through the model.
!
! author Elizabeth C. Hunke, LANL
Expand Down
38 changes: 19 additions & 19 deletions configuration/driver/icedrv_RunMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ subroutine ice_step
!-----------------------------------------------------------------

call icepack_query_parameters(skl_bgc_out=skl_bgc, z_tracers_out=z_tracers)
call icepack_query_parameters(solve_zsal_out=solve_zsal, &
call icepack_query_parameters(solve_zsal_out=solve_zsal, &
calc_Tsfc_out=calc_Tsfc, &
wave_spec_out=wave_spec)
call icepack_query_tracer_flags(tr_brine_out=tr_brine,tr_fsd_out=tr_fsd, &
Expand All @@ -147,7 +147,7 @@ subroutine ice_step
!-----------------------------------------------------------------
! Scale radiation fields
!-----------------------------------------------------------------

if (calc_Tsfc) call prep_radiation ()

! call icedrv_diagnostics_debug ('post prep_radiation')
Expand All @@ -169,26 +169,26 @@ subroutine ice_step
!-----------------------------------------------------------------
! dynamics, transport, ridging
!-----------------------------------------------------------------

call init_history_dyn

! wave fracture of the floe size distribution
! note this is called outside of the dynamics subcycling loop
if (tr_fsd .and. wave_spec) call step_dyn_wave(dt)

do k = 1, ndtd

! ridging
call step_dyn_ridge (dt_dyn, ndtd)

! clean up, update tendency diagnostics
offset = c0
call update_state (dt_dyn, daidtd, dvidtd, dagedtd, offset)

enddo

! call icedrv_diagnostics_debug ('post dynamics')

!-----------------------------------------------------------------
! snow redistribution and metamorphosis
!-----------------------------------------------------------------
Expand All @@ -203,21 +203,21 @@ subroutine ice_step
!-----------------------------------------------------------------
! albedo, shortwave radiation
!-----------------------------------------------------------------

call step_radiation (dt)

!-----------------------------------------------------------------
! get ready for coupling and the next time step
!-----------------------------------------------------------------

call coupling_prep

! call icedrv_diagnostics_debug ('post step_rad, cpl')

!-----------------------------------------------------------------
! write data
!-----------------------------------------------------------------

if (mod(istep,diagfreq) == 0) then
call runtime_diags(dt) ! log file
if (solve_zsal) call zsal_diags
Expand All @@ -228,16 +228,16 @@ subroutine ice_step
if (history_cdf) then
call history_write()
endif

if (write_restart == 1) then
call dumpfile ! core variables for restarting
if (solve_zsal .or. skl_bgc .or. z_tracers) &
call write_restart_bgc ! biogeochemistry
call final_restart
endif

end subroutine ice_step

!=======================================================================
!
! Prepare for coupling
Expand All @@ -264,7 +264,7 @@ subroutine coupling_prep

! local variables

integer (kind=int_kind) :: &
integer (kind=int_kind) :: &
n , & ! thickness category index
i , & ! horizontal index
k , & ! tracer index
Expand Down Expand Up @@ -314,7 +314,7 @@ subroutine coupling_prep
do n = 1, ncat
do i = 1, nx
if (aicen(i,n) > puny) then

alvdf(i) = alvdf(i) + alvdfn(i,n)*aicen(i,n)
alidf(i) = alidf(i) + alidfn(i,n)*aicen(i,n)
alvdr(i) = alvdr(i) + alvdrn(i,n)*aicen(i,n)
Expand All @@ -329,7 +329,7 @@ subroutine coupling_prep

apeff_ai(i) = apeff_ai(i) + apeffn(i,n)*aicen(i,n) ! for history
snowfrac(i) = snowfrac(i) + snowfracn(i,n)*aicen(i,n) ! for history

endif ! aicen > puny
enddo
enddo
Expand Down Expand Up @@ -357,8 +357,8 @@ subroutine coupling_prep
fsalt_ai (i) = fsalt (i)
fhocn_ai (i) = fhocn (i)
fswthru_ai(i) = fswthru(i)
fzsal_ai (i) = fzsal (i)
fzsal_g_ai(i) = fzsal_g(i)
fzsal_ai (i) = fzsal (i)
fzsal_g_ai(i) = fzsal_g(i)

if (nbtrcr > 0) then
do k = 1, nbtrcr
Expand Down
22 changes: 11 additions & 11 deletions configuration/driver/icedrv_arrays_column.F90
Original file line number Diff line number Diff line change
Expand Up @@ -123,12 +123,12 @@ module icedrv_arrays_column
! aerosol optical properties -> band |
! v aerosol
! for combined dust category, use category 4 properties
real (kind=dbl_kind), dimension(icepack_nspint,icepack_max_aero), public :: &
real (kind=dbl_kind), dimension(icepack_nspint,icepack_max_aero), public :: &
kaer_tab , & ! aerosol mass extinction cross section (m2/kg)
waer_tab , & ! aerosol single scatter albedo (fraction)
gaer_tab ! aerosol asymmetry parameter (cos(theta))

real (kind=dbl_kind), dimension(icepack_nspint,icepack_nmodal1), public :: &
real (kind=dbl_kind), dimension(icepack_nspint,icepack_nmodal1), public :: &
kaer_bc_tab, & ! BC mass extinction cross section (m2/kg)
waer_bc_tab, & ! BC single scatter albedo (fraction)
gaer_bc_tab ! BC aerosol asymmetry parameter (cos(theta))
Expand All @@ -144,7 +144,7 @@ module icedrv_arrays_column

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

real (kind=dbl_kind), dimension (nilyr+1), public :: &
cgrid , & ! CICE vertical coordinate
icgrid , & ! interface grid for CICE (shortwave variable)
Expand Down Expand Up @@ -197,12 +197,12 @@ module icedrv_arrays_column
integer (kind=int_kind), dimension(nx,icepack_max_algae), public :: &
algal_peak ! vertical location of algal maximum, 0 if no maximum

real (kind=dbl_kind), &
real (kind=dbl_kind), &
dimension (nx,nblyr+1,ncat), public :: &
Zoo ! N losses accumulated in timestep (ie. zooplankton/bacteria)
! (mmol/m^3)

real (kind=dbl_kind), &
real (kind=dbl_kind), &
dimension (nx,ncat), public :: &
dhbr_top , & ! brine top change
dhbr_bot ! brine bottom change
Expand All @@ -228,18 +228,18 @@ module icedrv_arrays_column
NO_net ! Total nitrate per grid cell

logical (kind=log_kind), dimension (nx), public :: &
Rayleigh_criteria ! .true. means Ra_c was reached
Rayleigh_criteria ! .true. means Ra_c was reached

real (kind=dbl_kind), dimension (nx), public :: &
Rayleigh_real ! .true. = c1, .false. = c0

real (kind=dbl_kind), &
real (kind=dbl_kind), &
dimension (nx,ncat), public :: &
sice_rho ! avg sea ice density (kg/m^3) ! ech: diagnostic only?

real (kind=dbl_kind), &
real (kind=dbl_kind), &
dimension (nx,ncat), public :: &
fzsaln , & ! category fzsal(kg/m^2/s)
fzsaln , & ! category fzsal(kg/m^2/s)
fzsaln_g ! salt flux from gravity drainage only

real (kind=dbl_kind), dimension (nx), public :: &
Expand All @@ -256,7 +256,7 @@ module icedrv_arrays_column
real (kind=dbl_kind), dimension (nx), public :: &
upNO , & ! nitrate uptake rate (mmol/m^2/d) times aice
upNH ! ammonium uptake rate (mmol/m^2/d) times aice

real (kind=dbl_kind), &
dimension(nx,max_ntrcr,ncat), public :: &
trcrn_sw ! bgc tracers active in the delta-Eddington shortwave
Expand All @@ -283,7 +283,7 @@ module icedrv_arrays_column
real (kind=dbl_kind), dimension (nx,nfreq), public :: &
wave_spectrum ! wave spectrum

real (kind=dbl_kind), dimension (nx,nfsd), public :: &
real (kind=dbl_kind), dimension (nx,nfsd), public :: &
! change in floe size distribution due to processes
d_afsd_newi, d_afsd_latg, d_afsd_latm, d_afsd_wave, d_afsd_weld

Expand Down
Loading

0 comments on commit 8f96707

Please sign in to comment.