NGEET / E3SM

Energy Exascale Earth System Model source code. NOTE: use "maint" branches for your work. Head of master is not validated.
https://e3sm.org
Other
1 stars 0 forks source link

Update column weighting upon disturbance #4

Open glemieux opened 7 months ago

glemieux commented 7 months ago

The column weight for the various upstream types will need to the have the weights updated when a given soil column is disturbed.

See compute_higher_order_weights for reference: https://github.com/NGEET/E3SM/blob/67abd002e90036f0c0d7baeb10b8a55a2965e7a7/components/elm/src/main/subgridWeightsMod.F90#L236-L253

Note: lun_pp type is landunit_physical_properties

### Tasks
- [ ] topounit weight (`col_pp%wttopounit`)
- [ ] vegetated landunit weight (`col_pp%wtlunit`)
- [ ] gridcell weight (`col_pp%wtgcell`)
glemieux commented 7 months ago

Note that the HLMs seem to have moved towards only using the no_special version of update_column_state: https://github.com/NGEET/E3SM/blob/67abd002e90036f0c0d7baeb10b8a55a2965e7a7/components/elm/src/dyn_subgrid/dynColumnStateUpdaterMod.F90#L84-L89

A search through the dynColumnStateUpdatedMod module appears to confirm this. Additionally, the calls are never made by passing fractional_area. For example: https://github.com/NGEET/E3SM/blob/67abd002e90036f0c0d7baeb10b8a55a2965e7a7/components/elm/src/dyn_subgrid/dynSubgridAdjustmentsMod.F90#L425-L429

As such, the gridcell column weight is used to determine the state update using the column_state_updater_type variable area_gained_col. Here is where gain is calculated: https://github.com/NGEET/E3SM/blob/67abd002e90036f0c0d7baeb10b8a55a2965e7a7/components/elm/src/dyn_subgrid/dynColumnStateUpdaterMod.F90#L268-L272

Note that the grid cell weight is also directly used in the state update: https://github.com/NGEET/E3SM/blob/67abd002e90036f0c0d7baeb10b8a55a2965e7a7/components/elm/src/dyn_subgrid/dynColumnStateUpdaterMod.F90#L911-L914

Note that fractional_area_new is always one since it's never been used as an input (old as well): https://github.com/NGEET/E3SM/blob/67abd002e90036f0c0d7baeb10b8a55a2965e7a7/components/elm/src/dyn_subgrid/dynColumnStateUpdaterMod.F90#L751-L754