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 documentation including namelist tables #322

Merged
merged 4 commits into from
Jun 5, 2020

Conversation

apcraig
Copy link
Contributor

@apcraig apcraig commented Jun 5, 2020

PR checklist

  • Short (1 sentence) summary of your PR:
    Update documentation including namelist tables and debugger section
  • Developer(s):
    apcraig
  • Suggest PR reviewers from list in the column to the right.
  • Please copy the PR test results link or provide a summary of testing completed below.
    No code changes, quick suite run on cheyenne just to be sure,
    https://github.com/CICE-Consortium/Test-Results/wiki/icepack_by_hash_forks#d7e63a86e9ec711d0821d210f77901816a02762e
  • How much do the PR code changes differ from the unmodified code?
    • bit for bit
    • different at roundoff level
    • more substantial
  • Does this PR create or have dependencies on CICE or any other models?
    • Yes
    • No
  • Does this PR add any new test cases?
    • Yes
    • No
  • Is the documentation being updated? ("Documentation" includes information on the wiki or in the .rst files from doc/source/, which are used to create the online technical docs at https://readthedocs.org/projects/cice-consortium-cice/.)
    • Yes
    • No, does the documentation need to be updated at a later time?
      • Yes
      • No
  • Please provide any additional information or relevant details below:

@apcraig apcraig merged commit 2b27a78 into CICE-Consortium:master Jun 5, 2020
phil-blain added a commit to phil-blain/Icepack that referenced this pull request Apr 7, 2022
Since CICE-Consortium/CICE@83686a3f (Implement box model test from 2001
JCP paper (CICE-Consortium#151), 2018-10-22) one can set 'ktherm = -1' in the CICE
namelist to disable the thermodynamics. This was added specifically for
the "Box 2001" test case (configuration/scripts/options/set_nml.box2001
in CICE) which also sets 'calc_strair' to false.

'ktherm = -1' is documented as disabling the thermodynamics in the
Icepack documentation since 2b27a78 (Update documentation including
namelist tables (CICE-Consortium#322), 2020-06-05), although this capability does not
exist in Icepack standalone, since the modifications to
CICE_RunMod::ice_step in CICE-Consortium/CICE@83686a3f were not copied
to the Icepack driver in icedrv_RunMod::ice_step. A simple
implementation in Icepack would be to add the CICE driver logic added in
CICE-Consortium/CICE@83686a3f in the Icepack driver. However, as
explained below things are not as simple.

It can be useful to disable thermodynamics but run the model with
'calc_strair = .true.'. This currently does not work as could be
expected in CICE, since the atmospheric stresses are computed in
icepack_atmo::icepack_atm_boundary, which is called from
icepack_therm_vertical::icepack_step_therm1, itself called from
ice_step_mod::step_therm1, which is only called if 'ktherm >= 0' (since
CICE-Consortium/CICE@83686a3f). This leads to atmospheric stress being
always zero under 'calc_strair = .true.', 'ktherm = -1'.

In order to allow computing the atmospheric stresses in this case, add
some logic the icepack_therm_vertical::icepack_step_therm1 to run some
parts of the subroutine only if 'ktherm >= 0'. Namely, let
frzmlt_bottom_lateral, set_sfcflux, thermo_vertical, update_aerosol,
update_isotope and compute_ponds_{cesm,lvl,topo} only be called if
'ktherm >=0'. Conversely, always run neutral_drag_coeffs,
icepack_atm_boundary, increment_age, update_FYarea and merge_fluxes.

This commit does changes behaviour for potential users of Icepack as a
library who initialize Icepack with 'ktherm=-1', 'calc_strair=.true.'
and call 'icepack_step_therm1', as this now will yield non-zero
atmospheric stresses. However, We do not anticipate this change to break
a lot of users, since anyway setting 'ktherm=-1' before this commit had
no effect whatsoever. The new behaviour aruably makes more sense
physically.

An upcoming commit will implement support for setting 'ktherm=-1' in the
Icepack driver.

Since we modify the indentation of several lines to keep the code
readable, this commit is best viewed using 'git diff --ignore-all-space'.
phil-blain added a commit to phil-blain/Icepack that referenced this pull request Apr 7, 2022
As noted in the previous commit, 'ktherm = -1' is documented as
disabling the thermodynamics in the Icepack documentation since 2b27a78
(Update documentation including namelist tables (CICE-Consortium#322), 2020-06-05),
although this capability does not exist in Icepack standalone.

Update icedrv_RunMod::ice_step to call some subroutines only if the
thermodynamics is enabled ('ktherm >= 0'). Namely, let prep_radiation,
biogeochemistry, step_therm2 and step_radiation only be called when
thermodynamics is enabled, while letting the rest of the subroutines
always be called. As noted in the previous commit, 'step_therm1' in
particular has to be always called since the computation of the
atmospheric stresses are done in that subroutine.
phil-blain added a commit to phil-blain/Icepack that referenced this pull request Apr 8, 2022
Since CICE-Consortium/CICE@83686a3f (Implement box model test from 2001
JCP paper (CICE-Consortium#151), 2018-10-22) one can set 'ktherm = -1' in the CICE
namelist to disable the thermodynamics. This was added specifically for
the "Box 2001" test case (configuration/scripts/options/set_nml.box2001
in CICE) which also sets 'calc_strair' to false.

'ktherm = -1' is documented as disabling the thermodynamics in the
Icepack documentation since 2b27a78 (Update documentation including
namelist tables (CICE-Consortium#322), 2020-06-05), although this capability does not
exist in Icepack standalone, since the modifications to
CICE_RunMod::ice_step in CICE-Consortium/CICE@83686a3f were not copied
to the Icepack driver in icedrv_RunMod::ice_step. A simple
implementation in Icepack would be to add the CICE driver logic added in
CICE-Consortium/CICE@83686a3f in the Icepack driver. However, as
explained below things are not as simple.

It can be useful to disable thermodynamics but run the model with
'calc_strair = .true.'. This currently does not work as could be
expected in CICE, since the atmospheric stresses are computed in
icepack_atmo::icepack_atm_boundary, which is called from
icepack_therm_vertical::icepack_step_therm1, itself called from
ice_step_mod::step_therm1, which is only called if 'ktherm >= 0' (since
CICE-Consortium/CICE@83686a3f). This leads to atmospheric stress being
always zero under 'calc_strair = .true.', 'ktherm = -1'.

In order to allow computing the atmospheric stresses in this case, add
some logic the icepack_therm_vertical::icepack_step_therm1 to run some
parts of the subroutine only if 'ktherm >= 0'. Namely, let the advanced
snow physics, frzmlt_bottom_lateral, set_sfcflux, thermo_vertical,
update_aerosol, update_isotope and compute_ponds_{cesm,lvl,topo} only be
called if 'ktherm >=0'. Conversely, always run neutral_drag_coeffs,
icepack_atm_boundary, increment_age, update_FYarea and merge_fluxes.

This commit does changes behaviour for potential users of Icepack as a
library who initialize Icepack with 'ktherm=-1', 'calc_strair=.true.'
and call 'icepack_step_therm1', as this now results in most of the
thermodynamics being disabled, and will yield non-zero atmospheric
stresses. However, we do not anticipate this change to break a lot of
users, since anyway setting 'ktherm=-1' before this commit had no effect
whatsoever in Icepack. The new behaviour aruably makes more sense
physically.

An upcoming commit will implement support for setting 'ktherm=-1' in the
Icepack driver.

Since we modify the indentation of several lines to keep the code
readable, this commit is best viewed using 'git diff --ignore-all-space'.
phil-blain added a commit to phil-blain/Icepack that referenced this pull request Apr 8, 2022
As noted in the previous commit, 'ktherm = -1' is documented as
disabling the thermodynamics in the Icepack documentation since 2b27a78
(Update documentation including namelist tables (CICE-Consortium#322), 2020-06-05),
although this capability does not exist in Icepack standalone.

Update icedrv_RunMod::ice_step to call some subroutines only if the
thermodynamics is enabled ('ktherm >= 0'). Namely, let prep_radiation,
biogeochemistry, step_therm2 and step_radiation only be called when
thermodynamics is enabled, while letting the rest of the subroutines
always be called. As noted in the previous commit, 'step_therm1' in
particular has to be always called since the computation of the
atmospheric stresses are done in that subroutine.
phil-blain added a commit to phil-blain/Icepack that referenced this pull request Apr 8, 2022
As noted in the previous commit, 'ktherm = -1' is documented as
disabling the thermodynamics in the Icepack documentation since 2b27a78
(Update documentation including namelist tables (CICE-Consortium#322), 2020-06-05),
although this capability does not exist in Icepack standalone.

Update icedrv_RunMod::ice_step to call some subroutines only if the
thermodynamics is enabled ('ktherm >= 0'). Namely, let prep_radiation,
biogeochemistry, step_therm2 and step_radiation only be called when
thermodynamics is enabled, while letting the rest of the subroutines
always be called. As noted in the previous commit, 'step_therm1' in
particular has to be always called since the computation of the
atmospheric stresses are done in that subroutine.
phil-blain added a commit to phil-blain/Icepack that referenced this pull request Apr 8, 2022
Since CICE-Consortium/CICE@83686a3f (Implement box model test from 2001
JCP paper (CICE-Consortium#151), 2018-10-22) one can set 'ktherm = -1' in the CICE
namelist to disable the thermodynamics. This was added specifically for
the "Box 2001" test case (configuration/scripts/options/set_nml.box2001
in CICE) which also sets 'calc_strair' to false.

'ktherm = -1' is documented as disabling the thermodynamics in the
Icepack documentation since 2b27a78 (Update documentation including
namelist tables (CICE-Consortium#322), 2020-06-05), although this capability does not
exist in Icepack standalone, since the modifications to
CICE_RunMod::ice_step in CICE-Consortium/CICE@83686a3f were not copied
to the Icepack driver in icedrv_RunMod::ice_step. A simple
implementation in Icepack would be to add the CICE driver logic added in
CICE-Consortium/CICE@83686a3f in the Icepack driver. However, as
explained below things are not as simple.

It can be useful to disable thermodynamics but run the model with
'calc_strair = .true.'. This currently does not work as could be
expected in CICE, since the atmospheric stresses are computed in
icepack_atmo::icepack_atm_boundary, which is called from
icepack_therm_vertical::icepack_step_therm1, itself called from
ice_step_mod::step_therm1, which is only called if 'ktherm >= 0' (since
CICE-Consortium/CICE@83686a3f). This leads to atmospheric stress being
always zero under 'calc_strair = .true.', 'ktherm = -1'.

In order to allow computing the atmospheric stresses in this case, add
some logic the icepack_therm_vertical::icepack_step_therm1 to run some
parts of the subroutine only if 'ktherm >= 0'. Namely, let
frzmlt_bottom_lateral, set_sfcflux, thermo_vertical, update_aerosol,
update_isotope and compute_ponds_{cesm,lvl,topo} only be called if
'ktherm >=0'. Conversely, always run neutral_drag_coeffs,
icepack_atm_boundary, increment_age, update_FYarea and merge_fluxes.

This commit does changes behaviour for potential users of Icepack as a
library who initialize Icepack with 'ktherm=-1', 'calc_strair=.true.'
and call 'icepack_step_therm1', as this now will yield non-zero
atmospheric stresses. However, We do not anticipate this change to break
a lot of users, since anyway setting 'ktherm=-1' before this commit had
no effect whatsoever. The new behaviour aruably makes more sense
physically.

An upcoming commit will implement support for setting 'ktherm=-1' in the
Icepack driver.

Since we modify the indentation of several lines to keep the code
readable, this commit is best viewed using 'git diff --ignore-all-space'.
phil-blain added a commit to phil-blain/Icepack that referenced this pull request Apr 8, 2022
As noted in the previous commit, 'ktherm = -1' is documented as
disabling the thermodynamics in the Icepack documentation since 2b27a78
(Update documentation including namelist tables (CICE-Consortium#322), 2020-06-05),
although this capability does not exist in Icepack standalone.

Update icedrv_RunMod::ice_step to call some subroutines only if the
thermodynamics is enabled ('ktherm >= 0'). Namely, let prep_radiation,
biogeochemistry, step_therm2 and step_radiation only be called when
thermodynamics is enabled, while letting the rest of the subroutines
always be called. As noted in the previous commit, 'step_therm1' in
particular has to be always called since the computation of the
atmospheric stresses are done in that subroutine.
phil-blain added a commit to phil-blain/Icepack that referenced this pull request Feb 6, 2024
Since CICE-Consortium/CICE@83686a3f (Implement box model test from 2001
JCP paper (CICE-Consortium#151), 2018-10-22) one can set 'ktherm = -1' in the CICE
namelist to disable the thermodynamics. This was added specifically for
the "Box 2001" test case (configuration/scripts/options/set_nml.box2001
in CICE) which also sets 'calc_strair' to false.

'ktherm = -1' is documented as disabling the thermodynamics in the
Icepack documentation since 2b27a78 (Update documentation including
namelist tables (CICE-Consortium#322), 2020-06-05), although this capability does not
exist in Icepack standalone, since the modifications to
CICE_RunMod::ice_step in CICE-Consortium/CICE@83686a3f were not copied
to the Icepack driver in icedrv_RunMod::ice_step. A simple
implementation in Icepack would be to add the CICE driver logic added in
CICE-Consortium/CICE@83686a3f in the Icepack driver. However, as
explained below things are not as simple.

It can be useful to disable thermodynamics but run the model with
'calc_strair = .true.'. This currently does not work as could be
expected in CICE, since the atmospheric stresses are computed in
icepack_atmo::icepack_atm_boundary, which is called from
icepack_therm_vertical::icepack_step_therm1, itself called from
ice_step_mod::step_therm1, which is only called if 'ktherm >= 0' (since
CICE-Consortium/CICE@83686a3f). This leads to atmospheric stress being
always zero under 'calc_strair = .true.', 'ktherm = -1'.

In order to allow computing the atmospheric stresses in this case, add
some logic the icepack_therm_vertical::icepack_step_therm1 to run some
parts of the subroutine only if 'ktherm >= 0'. Namely, let
frzmlt_bottom_lateral, set_sfcflux, thermo_vertical, update_aerosol,
update_isotope, drain_snow and compute_ponds_{cesm,lvl,topo} only be
called if 'ktherm >=0'. Conversely, always run neutral_drag_coeffs,
icepack_atm_boundary, increment_age, update_FYarea and merge_fluxes.

This commit does changes behaviour for potential users of Icepack as a
library who initialize Icepack with 'ktherm=-1', 'calc_strair=.true.'
and call 'icepack_step_therm1', as this now will yield non-zero
atmospheric stresses. However, We do not anticipate this change to break
a lot of users, since anyway setting 'ktherm=-1' before this commit had
no effect whatsoever. The new behaviour aruably makes more sense
physically.

An upcoming commit will implement support for setting 'ktherm=-1' in the
Icepack driver.

Note that we use one line 'if' statements and avoid adjusting
indentation in order to reduce the risk of merge conflicts when this
commit is rebased onto a newer version of CICE.
phil-blain added a commit to phil-blain/Icepack that referenced this pull request Feb 6, 2024
As noted in the previous commit, 'ktherm = -1' is documented as
disabling the thermodynamics in the Icepack documentation since 2b27a78
(Update documentation including namelist tables (CICE-Consortium#322), 2020-06-05),
although this capability does not exist in Icepack standalone.

Update icedrv_RunMod::ice_step to call some subroutines only if the
thermodynamics is enabled ('ktherm >= 0'). Namely, let prep_radiation,
biogeochemistry, step_therm2 and step_radiation only be called when
thermodynamics is enabled, while letting the rest of the subroutines
always be called. As noted in the previous commit, 'step_therm1' in
particular has to be always called since the computation of the
atmospheric stresses are done in that subroutine.
phil-blain added a commit to phil-blain/Icepack that referenced this pull request Feb 7, 2024
Since CICE-Consortium/CICE@83686a3f (Implement box model test from 2001
JCP paper (CICE-Consortium#151), 2018-10-22) one can set 'ktherm = -1' in the CICE
namelist to disable the thermodynamics. This was added specifically for
the "Box 2001" test case (configuration/scripts/options/set_nml.box2001
in CICE) which also sets 'calc_strair' to false.

'ktherm = -1' is documented as disabling the thermodynamics in the
Icepack documentation since 2b27a78 (Update documentation including
namelist tables (CICE-Consortium#322), 2020-06-05), although this capability does not
exist in Icepack standalone, since the modifications to
CICE_RunMod::ice_step in CICE-Consortium/CICE@83686a3f were not copied
to the Icepack driver in icedrv_RunMod::ice_step. A simple
implementation in Icepack would be to add the CICE driver logic added in
CICE-Consortium/CICE@83686a3f in the Icepack driver. However, as
explained below things are not as simple.

It can be useful to disable thermodynamics but run the model with
'calc_strair = .true.'. This currently does not work as could be
expected in CICE, since the atmospheric stresses are computed in
icepack_atmo::icepack_atm_boundary, which is called from
icepack_therm_vertical::icepack_step_therm1, itself called from
ice_step_mod::step_therm1, which is only called if 'ktherm >= 0' (since
CICE-Consortium/CICE@83686a3f). This leads to atmospheric stress being
always zero under 'calc_strair = .true.', 'ktherm = -1'.

In order to allow computing the atmospheric stresses in this case, add
some logic the icepack_therm_vertical::icepack_step_therm1 to run some
parts of the subroutine only if 'ktherm >= 0'. Namely, let
frzmlt_bottom_lateral, set_sfcflux, thermo_vertical, update_aerosol,
update_isotope, drain_snow and compute_ponds_{cesm,lvl,topo} only be
called if 'ktherm >=0'. Conversely, always run neutral_drag_coeffs,
icepack_atm_boundary, increment_age, update_FYarea and merge_fluxes.

This commit does changes behaviour for potential users of Icepack as a
library who initialize Icepack with 'ktherm=-1', 'calc_strair=.true.'
and call 'icepack_step_therm1', as this now will yield non-zero
atmospheric stresses. However, We do not anticipate this change to break
a lot of users, since anyway setting 'ktherm=-1' before this commit had
no effect whatsoever. The new behaviour aruably makes more sense
physically.

An upcoming commit will implement support for setting 'ktherm=-1' in the
Icepack driver.

Note that we use one line 'if' statements and avoid adjusting
indentation in order to reduce the risk of merge conflicts when this
commit is rebased onto a newer version of CICE.
phil-blain added a commit to phil-blain/Icepack that referenced this pull request Feb 7, 2024
As noted in the previous commit, 'ktherm = -1' is documented as
disabling the thermodynamics in the Icepack documentation since 2b27a78
(Update documentation including namelist tables (CICE-Consortium#322), 2020-06-05),
although this capability does not exist in Icepack standalone.

Update icedrv_RunMod::ice_step to call some subroutines only if the
thermodynamics is enabled ('ktherm >= 0'). Namely, let prep_radiation,
biogeochemistry, step_therm2 and step_radiation only be called when
thermodynamics is enabled, while letting the rest of the subroutines
always be called. As noted in the previous commit, 'step_therm1' in
particular has to be always called since the computation of the
atmospheric stresses are done in that subroutine.
phil-blain added a commit to phil-blain/Icepack that referenced this pull request Feb 12, 2024
Since CICE-Consortium/CICE@83686a3f (Implement box model test from 2001
JCP paper (CICE-Consortium#151), 2018-10-22) one can set 'ktherm = -1' in the CICE
namelist to disable the thermodynamics. This was added specifically for
the "Box 2001" test case (configuration/scripts/options/set_nml.box2001
in CICE) which also sets 'calc_strair' to false.

'ktherm = -1' is documented as disabling the thermodynamics in the
Icepack documentation since 2b27a78 (Update documentation including
namelist tables (CICE-Consortium#322), 2020-06-05), although this capability does not
exist in Icepack standalone, since the modifications to
CICE_RunMod::ice_step in CICE-Consortium/CICE@83686a3f were not copied
to the Icepack driver in icedrv_RunMod::ice_step. A simple
implementation in Icepack would be to add the CICE driver logic added in
CICE-Consortium/CICE@83686a3f in the Icepack driver. However, as
explained below things are not as simple.

It can be useful to disable thermodynamics but run the model with
'calc_strair = .true.'. This currently does not work as could be
expected in CICE, since the atmospheric stresses are computed in
icepack_atmo::icepack_atm_boundary, which is called from
icepack_therm_vertical::icepack_step_therm1, itself called from
ice_step_mod::step_therm1, which is only called if 'ktherm >= 0' (since
CICE-Consortium/CICE@83686a3f). This leads to atmospheric stress being
always zero under 'calc_strair = .true.', 'ktherm = -1'.

In order to allow computing the atmospheric stresses in this case, add
some logic the icepack_therm_vertical::icepack_step_therm1 to run some
parts of the subroutine only if 'ktherm >= 0'. Namely, let
frzmlt_bottom_lateral, set_sfcflux, thermo_vertical, update_aerosol,
update_isotope, drain_snow and compute_ponds_{cesm,lvl,topo} only be
called if 'ktherm >=0'. Conversely, always run neutral_drag_coeffs,
icepack_atm_boundary, increment_age, update_FYarea and merge_fluxes.

This commit does changes behaviour for potential users of Icepack as a
library who initialize Icepack with 'ktherm=-1', 'calc_strair=.true.'
and call 'icepack_step_therm1', as this now will yield non-zero
atmospheric stresses. However, We do not anticipate this change to break
a lot of users, since anyway setting 'ktherm=-1' before this commit had
no effect whatsoever. The new behaviour aruably makes more sense
physically.

An upcoming commit will implement support for setting 'ktherm=-1' in the
Icepack driver.

Note that we use one line 'if' statements and avoid adjusting
indentation in order to reduce the risk of merge conflicts when this
commit is rebased onto a newer version of CICE.
phil-blain added a commit to phil-blain/Icepack that referenced this pull request Feb 12, 2024
As noted in the previous commit, 'ktherm = -1' is documented as
disabling the thermodynamics in the Icepack documentation since 2b27a78
(Update documentation including namelist tables (CICE-Consortium#322), 2020-06-05),
although this capability does not exist in Icepack standalone.

Update icedrv_RunMod::ice_step to call some subroutines only if the
thermodynamics is enabled ('ktherm >= 0'). Namely, let prep_radiation,
biogeochemistry, step_therm2 and step_radiation only be called when
thermodynamics is enabled, while letting the rest of the subroutines
always be called. As noted in the previous commit, 'step_therm1' in
particular has to be always called since the computation of the
atmospheric stresses are done in that subroutine.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant