-
Notifications
You must be signed in to change notification settings - Fork 361
[WIP] Add NVP (Non-Vascular Plant) Layer in CTSM #3927
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
Draft
huitang-earth
wants to merge
128
commits into
ESCOMP:master
Choose a base branch
from
huitang-earth:ctsm5.4.028_nvp
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
128 commits
Select commit
Hold shift + click to select a range
fe8aa45
Add NVP control switches
huitang-earth b635d4e
Add control switches in namelist definition.
huitang-earth f53ed36
Initialize a module for NVP layer dynamics and water balance.
huitang-earth 8f5d482
Define NVP layer controllers and variables.
huitang-earth 6f677b7
Pass NVP namelist control to FATES.
huitang-earth 2043eaa
Add centralized parameter module for NVP (temporal solution).
huitang-earth 3711441
Add NVP radiation related variables and parameters.
huitang-earth a1955f9
Add NVP radiation related variables into history output field.
huitang-earth e259d4b
Add NVP-enabled SNICAR_RT call.
huitang-earth 80ca26e
Add NVP colum filter which can be used for NVP column loops.
huitang-earth 78ef7a0
Add NVP namelist settings (temporary)
huitang-earth 79cbded
Allow NVP optical properties to be ported into bottom snow layer (lay…
huitang-earth 64bf7b1
Add NVP light absorption for both snow and no-snow case
huitang-earth 2990172
Add NVP radiation wapper for FATES
huitang-earth a2cf476
Add FATES wrapper for dynamic NVP layer
huitang-earth 84e0ed8
Add NVP temperature state variable t_nvp_col.
huitang-earth 0481b00
Accomdate NVP as layer 0 (snow layer) in soil-snow temperature integ…
huitang-earth ceedb0f
Add NVP sensible heat flux.
huitang-earth 85fb103
Add NVP sensible and latent heat flux .
huitang-earth 5b1eaf4
Add surface humidity calculation for NVP (similar to soil).
huitang-earth 522d8f5
Add influence of ice content on NVP water retention.
huitang-earth fea0c85
Add NVP water state variable.
huitang-earth 6caec1b
Add NVP water flux variables.
huitang-earth 56a9757
Add diagnostic NVP water variables.
huitang-earth 5d4c676
Add NVP surface specific humidity.
huitang-earth b8109a6
Modify soil surface water flux due to NVP presence.
huitang-earth 85d56f9
Add NVP layer water balance calculation.
huitang-earth 50c6bf8
Add NVP photosynthesis wrapper.
huitang-earth 922ab69
Add separate photosynthesis call for NVP.
huitang-earth 6b68bdc
Add call for building NVP filter.
huitang-earth 09c5ad0
Add patch to column integration for NVP evaporation flux.
huitang-earth d05b7e3
Add restart option for NVP layer.
huitang-earth ec18da5
Remove redundant update of flx _absdv and flx_absiv for NVP layer whe…
huitang-earth 2bfdf63
Fixing bugs during compiling phase, no scientific changes.
huitang-earth bc302be
Improve treatment when water in NVP becomes ice.
huitang-earth 6f1096a
Separate 'use_nvp' and 'col%nvp_layer'-related variables in the if st…
huitang-earth 16945c6
Add NVP resitance to evaporation into Canopy and bareground flux calc…
huitang-earth c051fb8
Revert "Add NVP resitance to evaporation into Canopy and bareground f…
huitang-earth 01641f4
NVP bug fix: always set a valid value for t_nvp_col.
huitang-earth 5f4fd3b
Add debugging output to log files.
huitang-earth 683a86a
Point FATES at Hui Tang's branch, commit 49c247b39.
samsrabin cda744e
NVP bug fix: add 'use_nvp' guard for calculating top soil layer infil…
huitang-earth 6ed45f0
Merge remote-tracking branch 'tang_ssh/ctsm5.4.028_nvp'
huitang-earth 2513aaf
bug fix: avoid too large hs values for h2osfc, when it is absent.
huitang-earth 4156a30
Fix git-fleximod FATES
samsrabin f183b46
use_nvp now actually default false.
samsrabin dae7fe4
NVP namelist vars now handled in CLMBuildNamelist.pm.
samsrabin d39516d
Disable the use of canopy_fraction_pa for calculating frac_nvp(c) for…
huitang-earth c33254d
Use jbot_sno(c)==-1 directly (not filter_nvpc) so this can run on the…
huitang-earth d61e55f
Set qflx_ev_nvp(p) = 0._r8 when NVP is buried under snow
huitang-earth 4423d8e
Exclude the NVP slot from snow hydrological calculations.
huitang-earth a142abc
Set nvp evaporation to 0 for its water balance calculation when it is…
huitang-earth 4ec436d
Avoid NVP evap flux calculation when buried undersnow.
huitang-earth 9670a66
Avoid NVP evap and heat flux calculation when buried undersnow (bareg…
huitang-earth 5c42e3e
Key NVP bug fix: Set NVP area fraction — zero when NVP buried under s…
huitang-earth ad9c5fd
Write NVP debugging output to log files.
huitang-earth b1ac7a4
Merge remote-tracking branch 'tang_ssh/ctsm5.4.028_nvp'
huitang-earth c3a977a
Update FATES: Avoid unconditional minimum elai and esai for NVP.
samsrabin 1c72fe7
BareGroundFluxesMod: Try wrapping patch%is_veg indexing in "if (use_f…
samsrabin 10d3502
Bug fixes: avoid floating-point exception in SNICAR module
huitang-earth 6ba9a9d
Key bug fix: solving soil balance error for both NVP and non-NVP run.
huitang-earth 03989b1
Add debug output for soil balance error.
huitang-earth 63b9cf4
Merge remote-tracking branch 'Try wrapping patch%is_veg indexing in "…
huitang-earth 25340f6
Update FATES: Add initialization of optical parameter nvp_omega-pa fo…
samsrabin bba2f74
Replace a flush() with shr_sys_flush().
samsrabin 0061373
Exclude NVP layer for snow aerosol calculation.
huitang-earth 0bd6bdc
Add debugging output for NVP layer dynamics.
huitang-earth a93dadf
Initialize volumetric water content of new NVP layer to 0.6 (similar …
huitang-earth 5ac004e
Calculate infiltration flux of NVP only when snow is absent.
huitang-earth adcdd9d
Add calculation of day length factor specifically for NVP.
huitang-earth 2a59b2b
Add debugging output for nvp filter, energy and water balances.
huitang-earth 99fd16a
Exclude NVP layer from snow water diagnostics.
huitang-earth 99b3c80
Initialize fwet_nvp_col and vwc_nvp_col to 0.6 (WaterDiagnosticBulkTy…
huitang-earth 6167e8f
Include NVP layer for water mass diagnostics when snow layer is absent.
huitang-earth 7cc0a28
Improve the accounting of qflx_in_soil and qflx_evap when NVP is pres…
huitang-earth bc251e3
Improve the accounting of NVP in lw_grnd, eflx_soil_grnd, and heat_st…
huitang-earth 7bc3126
Exclude NVP layer for assigning snow aerosol value.
huitang-earth d83482f
Zero NVP sh/ev flux when buried under snow (Need improvements)
huitang-earth 9b1d0c9
Add separated treatment for the water phase changes of NVP layer (key…
huitang-earth 9ce6316
Add specific treatment in ComputeGroundHeatFluxAndDeriv to deal with …
huitang-earth b59064e
Place first snow layer at index -1, when NVP occupies layer 0. Apply …
huitang-earth 226a5c4
Re-wire snow percolation fluxes when NVP layer is present.
huitang-earth 9d40fc3
Add more debugging output in BalanceCheckMod.F90.
huitang-earth ebd27d4
Avoid endrun when balance errors occur (Only for debugging).
huitang-earth 3951725
Merge remote-tracking branch 'tang_ssh/ctsm5.4.028_nvp'
huitang-earth 02b611b
Update FATES to 54cd2c37: Set btran_eff for NVP to 1.0, no soil water…
samsrabin 31f0212
Add a target to fix compile.
samsrabin 7f29058
CDEPS changes to get ALP2 working.
samsrabin 342a90c
Add NVP-specific cold restart.
huitang-earth 85971af
Add nvp water related variables: qflx_ev_nvp_eff_col and qflx_nvp_to_…
huitang-earth 2e398e5
add separate NVP resistance when frozen.
huitang-earth edb9448
Snow percolation to NVP layer regardless of whether NVP is exposed or…
huitang-earth 907fe49
re-wired frac_nvp_eff for surface humidty
huitang-earth 400643c
Add NVPColdStartIce for NVP cold start.
huitang-earth 7da6930
Assign different hydraulic conductivity according to the water gradie…
huitang-earth e1ed254
Add nvp specific evaporation (qflx_ev_nvp) to total surface evaporati…
huitang-earth c3d2f2c
Build per-surface raiw to avoid soilresis cross-coupling in baregroun…
huitang-earth 428302e
Allow per-surface eflx_sh_nvp when nvp is partially covered by snow.
huitang-earth 12325bf
Cap the snow layers with nvp layer to the same number as that without…
huitang-earth d8b5f5e
3-way split (snow / exposed-NVP / exposed bare-soil) for t_grnd calcu…
huitang-earth ea99b76
3-way split (snow / exposed-NVP / bare-soil) for t_grnd0(c).
huitang-earth 71c5719
Add 3-way split (snow / exposed-NVP / exposed bare-soil) for lw_grnd.
huitang-earth 787e6df
Linearize qflx_ev_nvp with the NVP layer's own temperature increment …
huitang-earth 34bb0fd
Make consistent frac_nvp_eff calculation for lw_grnd's 3-way split (s…
huitang-earth 1d943c2
Use 3-way split qflx_evap_grnd_eff for eflx_soil_grnd, qflx_evap_tot …
huitang-earth 440cdc7
Add excess NVP ice flux to snow as snow sources in errh2osno calculat…
huitang-earth 9355fa2
Partitioning NVP radiation absorption to sabg_nvp (exposed) and sabg_…
huitang-earth cfc4773
Send alb_nvp_gnd (per-moss) to CLM surface albedo calculation.
huitang-earth b14e922
Add nvp albedo Beer-effective ground albedo into the blend of ground …
huitang-earth 57403df
Add heat content of solid moss to heat(c).
huitang-earth fc9e3f6
Modify the blend of sabg among sabg_soil, sabg_nvp, and sabg_snow.
huitang-earth 6d7cf4e
Add sabg_nvp_patch for nvp solar absorption.
huitang-earth 289f0d5
Re-partition asbsorbed solar radiation into soil, nvp, and snow for e…
huitang-earth 8b8d6aa
Clear 3-way split (soil, nvp, snow), and separate treatment of h2osfc…
huitang-earth 0417da4
Add debug output for soil and snow hydrology.
huitang-earth be2bac2
Merge remote-tracking branch 'tang_ssh/ctsm5.4.028_nvp'
huitang-earth 9410b72
Correct syntax errors in SurfaceRadiationMod.F90
huitang-earth 4f85cbc
Add cair, oair and rb_pa into the wrap func of nvp photosynthesis.
huitang-earth 0ee5fb4
Update FATES to: Move nvp ci equation into CiFunc
samsrabin 6b3a896
Fix (?) cold-start NVP layer-0 ice content.
samsrabin e4b973e
FATES: FatesSunShadeFracs: Use site's coszen, not bc_in's.
samsrabin 3145361
Add fates_nvp suite with one test, of ALP2 SP moss only.
samsrabin 5e8c38e
Add ALP2 grass and bare tests.
samsrabin e1328a1
FATES: Update non-moss paramfile to match moss one, except HLM mapping.
samsrabin baae01c
Grass and bare tests fail with div-by-zero
samsrabin 2de972a
Merge branch 'add-alp2-tests' into ctsm5.4.028_nvp
samsrabin 5ec737f
FATES: Add option to not use NVP temp for entire patch.
samsrabin e8ab345
FATES: Rename one instance of t_cohort to t_for_gas_params.
samsrabin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule ccs_config
updated
2 files
| +5 −0 | component_grids_nuopc.xml | |
| +6 −0 | modelgrid_aliases_nuopc.xml |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1 change: 1 addition & 0 deletions
1
cime_config/testdefs/testmods_dirs/clm/FatesALP2Bare/shell_commands
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| # ./xmlchange DATM_MODE=CLMCRUJRA2024b |
9 changes: 9 additions & 0 deletions
9
cime_config/testdefs/testmods_dirs/clm/FatesALP2Bare/user_nl_clm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| fsurdat='$DIN_LOC_ROOT/lnd/clm2/testdata/moss/fsurdat/surfdata_ALP2_hist_2000_16pfts_c260427_bare.nc' | ||
| use_fates = .true. | ||
| use_fates_sp = .true. | ||
| use_nvp = .true. | ||
| use_nvp_undersnow = .true. | ||
| nvp_rad_model_ground = .true. | ||
| use_bedrock=.true. | ||
| fates_paramfile = '$DIN_LOC_ROOT/lnd/clm2/testdata/moss/fates_paramfile/fates_params_default.c260717.45a9aaf3.json' | ||
|
|
1 change: 1 addition & 0 deletions
1
cime_config/testdefs/testmods_dirs/clm/FatesALP2Grass/shell_commands
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| # ./xmlchange DATM_MODE=CLMCRUJRA2024b |
9 changes: 9 additions & 0 deletions
9
cime_config/testdefs/testmods_dirs/clm/FatesALP2Grass/user_nl_clm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| fsurdat='$DIN_LOC_ROOT/lnd/clm2/testdata/moss/fsurdat/surfdata_ALP2_hist_2000_16pfts_c260427_grass.nc' | ||
| use_fates = .true. | ||
| use_fates_sp = .true. | ||
| use_nvp = .true. | ||
| use_nvp_undersnow = .true. | ||
| nvp_rad_model_ground = .true. | ||
| use_bedrock=.true. | ||
| fates_paramfile = '$DIN_LOC_ROOT/lnd/clm2/testdata/moss/fates_paramfile/fates_params_default.c260717.45a9aaf3.json' | ||
|
|
1 change: 1 addition & 0 deletions
1
cime_config/testdefs/testmods_dirs/clm/FatesALP2Moss/shell_commands
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| # ./xmlchange DATM_MODE=CLMCRUJRA2024b |
10 changes: 10 additions & 0 deletions
10
cime_config/testdefs/testmods_dirs/clm/FatesALP2Moss/user_nl_clm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| fsurdat='$DIN_LOC_ROOT/lnd/clm2/testdata/moss/fsurdat/surfdata_ALP2_hist_2000_16pfts_c260427_moss.nc' | ||
| use_fates = .true. | ||
| use_fates_sp = .true. | ||
| use_nvp = .true. | ||
| use_nvp_undersnow = .true. | ||
| nvp_rad_model_ground = .true. | ||
| use_nvp_temp_for_patch_gas_params = .true. | ||
| use_bedrock=.true. | ||
| fates_paramfile = '$DIN_LOC_ROOT/lnd/clm2/testdata/moss/fates_paramfile/fates_params_default_moss.c260717.45a9aaf3.json' | ||
|
|
1 change: 1 addition & 0 deletions
1
...config/testdefs/testmods_dirs/clm/FatesALP2Moss_NoNvpTempForPatchGasParams/shell_commands
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| # ./xmlchange DATM_MODE=CLMCRUJRA2024b |
10 changes: 10 additions & 0 deletions
10
cime_config/testdefs/testmods_dirs/clm/FatesALP2Moss_NoNvpTempForPatchGasParams/user_nl_clm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| fsurdat='$DIN_LOC_ROOT/lnd/clm2/testdata/moss/fsurdat/surfdata_ALP2_hist_2000_16pfts_c260427_moss.nc' | ||
| use_fates = .true. | ||
| use_fates_sp = .true. | ||
| use_nvp = .true. | ||
| use_nvp_undersnow = .true. | ||
| nvp_rad_model_ground = .true. | ||
| use_nvp_temp_for_patch_gas_params = .false. | ||
| use_bedrock=.true. | ||
| fates_paramfile = '$DIN_LOC_ROOT/lnd/clm2/testdata/moss/fates_paramfile/fates_params_default_moss.c260717.45a9aaf3.json' | ||
|
|
Submodule cdeps
updated
4 files
| +10 −1 | cime_config/stream_cdeps.py | |
| +1 −1 | datm/cime_config/namelist_definition_datm.xml | |
| +72 −6 | datm/cime_config/stream_definition_datm.xml | |
| +9 −1 | datm/datm_datamode_clmncep_mod.F90 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added
hlm_use_nvp_temp_for_patch_gas_paramsoption to avoid having the entire patch take NVP's temperature, which would be bad when NVP coexists with other PFTs.However, before merging, this should probably be deleted, with the FATES code being updated only allow the "false" behavior. Even in an NVP-only run, why should NVP be allowed to ignore snow and surface water effects on temperature when other PFTs can't? Especially since temperature of NVP—the shortest PFT—would be most affected by those?