Skip to content

Commit

Permalink
icepack_therm_vertical: add support for staggered atmospheric level
Browse files Browse the repository at this point in the history
The previous commit added an optional 'zlvs' argument to
'icepack_atm_boundary' to allow atmospheric input variables to be given
at different vertical levels.

Also add 'zlvs' as an optional argument to 'icepack_step_therm1', to
make the functionality available via the Icepack interfaces.
  • Loading branch information
phil-blain committed May 26, 2021
1 parent 2ea48e0 commit d20ab9c
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 7 deletions.
10 changes: 6 additions & 4 deletions columnphysics/icepack_therm_vertical.F90
Original file line number Diff line number Diff line change
Expand Up @@ -2111,7 +2111,8 @@ subroutine icepack_step_therm1(dt, ncat, nilyr, nslyr, &
dsnown , &
lmask_n , lmask_s , &
mlt_onset , frz_onset , &
yday , prescribed_ice)
yday , prescribed_ice, &
zlvs)

integer (kind=int_kind), intent(in) :: &
ncat , & ! number of thickness categories
Expand All @@ -2137,7 +2138,7 @@ subroutine icepack_step_therm1(dt, ncat, nilyr, nslyr, &
aice , & ! sea ice concentration
vice , & ! volume per unit area of ice (m)
vsno , & ! volume per unit area of snow (m)
zlvl , & ! atm level height (m)
zlvl , & ! atm level height for momentum (and scalars if zlvs is not present) (m)
uatm , & ! wind velocity components (m/s)
vatm , &
wind , & ! wind speed (m/s)
Expand Down Expand Up @@ -2221,7 +2222,8 @@ subroutine icepack_step_therm1(dt, ncat, nilyr, nslyr, &
real (kind=dbl_kind), optional, intent(in) :: &
HDO_ocn , & ! ocean concentration of HDO (kg/kg)
H2_16O_ocn , & ! ocean concentration of H2_16O (kg/kg)
H2_18O_ocn ! ocean concentration of H2_18O (kg/kg)
H2_18O_ocn , & ! ocean concentration of H2_18O (kg/kg)
zlvs ! atm level height for scalars (if different than zlvl) (m)

real (kind=dbl_kind), dimension(:), intent(inout) :: &
aicen_init , & ! fractional area of ice
Expand Down Expand Up @@ -2539,7 +2541,7 @@ subroutine icepack_step_therm1(dt, ncat, nilyr, nslyr, &
Qa_iso=l_Qa_iso, &
Qref_iso=Qrefn_iso, &
uvel=uvel, vvel=vvel, &
Uref=Urefn)
Uref=Urefn, zlvs=zlvs)
if (icepack_warnings_aborted(subname)) return

endif ! calc_Tsfc or calc_strair
Expand Down
8 changes: 5 additions & 3 deletions doc/source/user_guide/interfaces.include
Original file line number Diff line number Diff line change
Expand Up @@ -2068,7 +2068,8 @@ icepack_step_therm1
dsnown , &
lmask_n , lmask_s , &
mlt_onset , frz_onset , &
yday , prescribed_ice)
yday , prescribed_ice, &
zlvs)

integer (kind=int_kind), intent(in) :: &
ncat , & ! number of thickness categories
Expand All @@ -2094,7 +2095,7 @@ icepack_step_therm1
aice , & ! sea ice concentration
vice , & ! volume per unit area of ice (m)
vsno , & ! volume per unit area of snow (m)
zlvl , & ! atm level height (m)
zlvl , & ! atm level height for momentum (and scalars if zlvs is not present) (m)
uatm , & ! wind velocity components (m/s)
vatm , &
wind , & ! wind speed (m/s)
Expand Down Expand Up @@ -2178,7 +2179,8 @@ icepack_step_therm1
real (kind=dbl_kind), optional, intent(in) :: &
HDO_ocn , & ! ocean concentration of HDO (kg/kg)
H2_16O_ocn , & ! ocean concentration of H2_16O (kg/kg)
H2_18O_ocn ! ocean concentration of H2_18O (kg/kg)
H2_18O_ocn , & ! ocean concentration of H2_18O (kg/kg)
zlvs ! atm level height for scalars (if different than zlvl) (m)

real (kind=dbl_kind), dimension(:), intent(inout) :: &
aicen_init , & ! fractional area of ice
Expand Down

0 comments on commit d20ab9c

Please sign in to comment.