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

Remove deprecated history output #1281

Closed
wwieder opened this issue Feb 17, 2021 · 6 comments
Closed

Remove deprecated history output #1281

wwieder opened this issue Feb 17, 2021 · 6 comments
Assignees
Labels
bfb bit-for-bit code health improving internal code structure to make easier to maintain (sustainability)

Comments

@wwieder
Copy link
Contributor

wwieder commented Feb 17, 2021

Looks like some model output may be written to history files for variables that have been deprecated in CLM5+.

Specifically, state and fluxes related to the unconfined aquifer (QCHARGE and WA) are not needed in CLM5 and CTSM5.1.
Removing these from history files will save space and avoid user confusion.

@wwieder wwieder added code health improving internal code structure to make easier to maintain (sustainability) tag: simple bfb labels Feb 17, 2021
@billsacks
Copy link
Member

Two questions on this:

  1. What are the namelist flags or logicals in the code that determine whether these variables are interesting? (It's not enough to say that they're not needed in CLM5 / CTSM5.1: we need to base this on specific namelist flags.)
  2. Should they be (a) available to be added but off by default, or (b) not even available to be added?

@wwieder
Copy link
Contributor Author

wwieder commented Feb 21, 2021

Both variables should not even be available in any CLM5 or CTSM5.1 namelists flags. I'm assuming this is true for NWP too, but am less familiar with the soil hydrology used for WRF-CLM configurations. Does this help clarify?

@dlawrenncar
Copy link
Contributor

dlawrenncar commented Feb 21, 2021 via email

@billsacks
Copy link
Member

Would the appropriate logic be: If this function returns a true value, then add those history variables; if not, they should not be available?:

!------------------------------------------------------------------------------
function use_aquifer_layer() result(lres)
!
!DESCRIPTION
! return true if an aquifer layer is used
! otherwise false
implicit none
logical :: lres
if(lower_boundary_condition == bc_aquifer .or. lower_boundary_condition == bc_watertable)then
lres=.true.
else
lres=.false.
endif
return
end function use_aquifer_layer

@dlawrenncar
Copy link
Contributor

dlawrenncar commented Feb 21, 2021 via email

@billsacks
Copy link
Member

lres is just the return value of the function. So use_aquifer_layer returns true if (lower_boundary_condition == bc_aquifer .or. lower_boundary_condition == bc_watertable) is true, and false otherwise.

Unless I hear otherwise, I'll go ahead and make this change in a tag I'm working on in the next day or so.

@billsacks billsacks self-assigned this Feb 22, 2021
billsacks added a commit to billsacks/ctsm that referenced this issue Feb 22, 2021
billsacks added a commit to billsacks/ctsm that referenced this issue Feb 22, 2021
billsacks added a commit that referenced this issue Feb 23, 2021
Refactor ozone code, and misc. small fixes

(1) Restructure ozone code (#1276) in
    preparation for new ozone parameterization.

(2) Fix non-standard hexadecimal constant
    (#1271), needed for gfortran 10

(3) Remove support for CISM1 (#1226)

(4) Move final WaterGridcellBalance call out to clm_driver (resolves
    #1286)

(5) Only add WA and QCHARGE history fields if use_aquifer_layer is true
    (resolves #1281)

(6) Consolidate conditional structures for VIC initialization (resolves
    #1287)

- Resolves #1286 (Move call to WaterGridcellBalance out to
  the driver)
- Resolves #1281 (Remove deprecated history output)
- Resolves #1287 (Inconsistent logic for VIC initialization
  can cause crash in debug mode)
- Resolves #1270 (Hexadecimal constants use non-standard
  Fortran)
ekluzek added a commit to ekluzek/CTSM that referenced this issue Mar 6, 2021
Refactor ozone code, and misc. small fixes

(1) Restructure ozone code (ESCOMP#1276) in
    preparation for new ozone parameterization.

(2) Fix non-standard hexadecimal constant
    (ESCOMP#1271), needed for gfortran 10

(3) Remove support for CISM1 (ESCOMP#1226)

(4) Move final WaterGridcellBalance call out to clm_driver (resolves
    ESCOMP#1286)

(5) Only add WA and QCHARGE history fields if use_aquifer_layer is true
    (resolves ESCOMP#1281)

(6) Consolidate conditional structures for VIC initialization (resolves
    ESCOMP#1287)

 Conflicts:
	bld/namelist_files/namelist_defaults_ctsm.xml
	bld/unit_testers/build-namelist_test.pl
ekluzek added a commit to olyson/ctsm that referenced this issue Mar 12, 2021
Refactor ozone code, and misc. small fixes

(1) Restructure ozone code (ESCOMP#1276) in
    preparation for new ozone parameterization.

(2) Fix non-standard hexadecimal constant
    (ESCOMP#1271), needed for gfortran 10

(3) Remove support for CISM1 (ESCOMP#1226)

(4) Move final WaterGridcellBalance call out to clm_driver (resolves
    ESCOMP#1286)

(5) Only add WA and QCHARGE history fields if use_aquifer_layer is true
    (resolves ESCOMP#1281)

(6) Consolidate conditional structures for VIC initialization (resolves
    ESCOMP#1287)

 Conflicts:
	bld/namelist_files/namelist_defaults_ctsm.xml
	src/main/histFileMod.F90
ekluzek added a commit to djk2120/CTSM that referenced this issue Mar 13, 2021
Refactor ozone code, and misc. small fixes

(1) Restructure ozone code (ESCOMP#1276) in
    preparation for new ozone parameterization.

(2) Fix non-standard hexadecimal constant
    (ESCOMP#1271), needed for gfortran 10

(3) Remove support for CISM1 (ESCOMP#1226)

(4) Move final WaterGridcellBalance call out to clm_driver (resolves
    ESCOMP#1286)

(5) Only add WA and QCHARGE history fields if use_aquifer_layer is true
    (resolves ESCOMP#1281)

(6) Consolidate conditional structures for VIC initialization (resolves
    ESCOMP#1287)

 Conflicts:
	src/biogeophys/CanopyFluxesMod.F90
yelizy pushed a commit to yelizy/ctsm that referenced this issue Jul 19, 2022
Refactor ozone code, and misc. small fixes

(1) Restructure ozone code (ESCOMP#1276) in
    preparation for new ozone parameterization.

(2) Fix non-standard hexadecimal constant
    (ESCOMP#1271), needed for gfortran 10

(3) Remove support for CISM1 (ESCOMP#1226)

(4) Move final WaterGridcellBalance call out to clm_driver (resolves
    ESCOMP#1286)

(5) Only add WA and QCHARGE history fields if use_aquifer_layer is true
    (resolves ESCOMP#1281)

(6) Consolidate conditional structures for VIC initialization (resolves
    ESCOMP#1287)
@samsrabin samsrabin added simple bfb bit-for-bit labels Aug 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bfb bit-for-bit code health improving internal code structure to make easier to maintain (sustainability)
Projects
None yet
Development

No branches or pull requests

4 participants