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

Map SMB from lnd to glc using bilinear mapping with a conservation correction #1609

Merged
merged 32 commits into from
May 27, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
4a13545
Implement smooth, conservative remapping from lnd to glc
whlipscomb May 5, 2017
a65cc8e
Merge tag 'cime5.3.0-alpha.11' into lnd2glc_bilinear
billsacks May 9, 2017
5ec715c
Code cleanup
billsacks May 9, 2017
4520642
Remove a bunch of diagnostic / debugging prints
billsacks May 9, 2017
f5f58e0
Remove ideal_smb option that was in place for testing
billsacks May 10, 2017
98af758
Fix multi-instance indexing for dom_l and dom_g
billsacks May 10, 2017
a24ad04
Remove code related to old lnd2glc vertical interpolation scheme
billsacks May 10, 2017
2d2c2c6
Remove some debugging print statements and commented-out code
billsacks May 10, 2017
03c2800
Add link to the design document
billsacks May 10, 2017
40daef8
Avoid divide by 0
billsacks May 10, 2017
5f10a8e
Add a warning message if we need to avoid divide by 0
billsacks May 10, 2017
ae43ea0
Clean up some comments
billsacks May 10, 2017
d7a0ef6
Remove comment asking if we want norm=.true.
billsacks May 11, 2017
ca9aa82
Introduce routines to help build field lists, and other cleanup
billsacks May 11, 2017
71b905f
Fix variable name
billsacks May 11, 2017
c5e169c
Remove comment to think about bare land treatment
billsacks May 11, 2017
2ff44d6
Delete some old notes that Bill Lipscomb made to himself
billsacks May 11, 2017
62184f3
Add a comment
billsacks May 11, 2017
ec3f1cd
Remove questions about landfrac weighting and norm in seq_map_map call
billsacks May 12, 2017
2abc97c
fix typo
billsacks May 12, 2017
0d479b8
Make sure gx2_lx_fields is big enough
billsacks May 12, 2017
0e6ff23
Fix syntax error
billsacks May 21, 2017
ecf924d
Some cleanup
billsacks May 21, 2017
1e8a3db
allocate totalfieldlist before trying to set it
billsacks May 23, 2017
2e8b0c0
Minor cleanup
billsacks May 23, 2017
88c94cb
Extract subroutine to do the smb renormalization
billsacks May 23, 2017
e08288a
fix compilation errors
billsacks May 23, 2017
5d89c03
Add namelist variable and logic controlling smb_renormalize logical
billsacks May 24, 2017
62ecaef
fix compilation error
billsacks May 25, 2017
861ec11
Merge tag 'cime5.3.0-alpha.13' into lnd2glc_bilinear
billsacks May 25, 2017
bb9b17a
Explicitly allocate all_elevclass_strings
billsacks May 25, 2017
6d8cda5
Merge branch 'master' into lnd2glc_bilinear
billsacks May 25, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions src/drivers/mct/cime_config/namelist_definition_drv.xml
Original file line number Diff line number Diff line change
Expand Up @@ -572,6 +572,39 @@
</values>
</entry>

<entry id="glc_renormalize_smb">
<type>char</type>
<category>control</category>
<group>seq_infodata_inparm</group>
<valid_values>on,off,on_if_glc_coupled_fluxes</valid_values>
<desc>
Whether to renormalize the surface mass balance (smb) sent from lnd to glc so that the
global integral on the glc grid agrees with the global integral on the lnd grid.

Unlike most fluxes, smb is remapped with bilinear rather than conservative mapping weights,
so this option is needed for conservation. However, conservation is not required in many
cases, since we often run glc as a diagnostic (one-way-coupled) component.

Allowable values are:
'on': always do this renormalization
'off': never do this renormalization (see WARNING below)
'on_if_glc_coupled_fluxes': Determine at runtime whether to do this renormalization.
Does the renormalization if we're running a two-way-coupled glc that sends fluxes
to other components (which is the case where we need conservation).
Does NOT do the renormalization if we're running a one-way-coupled glc, or if
we're running a glc-only compset (T compsets).
(In these cases, conservation is not important.)

Only used if running with a prognostic GLC component.

WARNING: Setting this to 'off' will break conservation when running with an
evolving, two-way-coupled glc.
</desc>
<values>
<value>on_if_glc_coupled_fluxes</value>
</values>
</entry>

<entry id="wall_time_limit">
<type>real</type>
<category>control</category>
Expand Down
4 changes: 0 additions & 4 deletions src/drivers/mct/main/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
list(APPEND drv_sources
component_type_mod.F90
map_glc2lnd_mod.F90
map_lnd2glc_mod.F90
map_lnd2rof_irrig_mod.F90
seq_map_mod.F90
seq_map_type_mod.F90
vertical_gradient_calculator_base.F90
vertical_gradient_calculator_2nd_order.F90
vertical_gradient_calculator_factory.F90
)

sourcelist_to_parent(drv_sources)
288 changes: 159 additions & 129 deletions src/drivers/mct/main/map_lnd2glc_mod.F90

Large diffs are not rendered by default.

Loading