-
Notifications
You must be signed in to change notification settings - Fork 312
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
Surface dataset enhancements needed for irrigation method #565
Comments
Until we can rely on irrig_method always being on the surface dataset, I am adding an irrig_method_default namelist parameter. This will especially be useful for testing. See 31c56da |
New options for irrigation and crop fsat Introduce three new options: (1) Ability to withdraw irrigation water from groundwater if not enough water is available from rivers. This is controlled via new namelist flag, use_groundwater_irrigation. Water can be withdrawn from both the unconfined (from the soil column) and confined (from wa) aquifers. (2) Irrigation method: sprinkler (above canopy) vs. drip (below canopy). This can be set on a per-crop and per-gridcell basis on the surface dataset, but out-of-the-box support for creating the necessary surface dataset field is not yet in place (see #565). For now, it can be controlled globally via a new namelist flag, irrig_method_default. The default is drip, which was what we were previously using implicitly. (3) Set crop fsat to zero. This is controlled by a new namelist option, crop_fsat_equals_zero. Default behavior is the same as before for all three options. Also: - If use_aquifer_layer is false (which is the default for CLM50), no longer reset wa_col every time step - Adds indices to vector history files giving column, landunit and gridcell indices for each patch, etc. (Resolves #81: "Restart files are different for CLM when run over different number of tasks" (issue name is a misnomer of the remaining to-dos in that issue.) - Writes 3d time-constant fields on first history file for all tapes, not just the first - Small performance improvements to irrigation
New options for irrigation and crop fsat Introduce three new options: (1) Ability to withdraw irrigation water from groundwater if not enough water is available from rivers. This is controlled via new namelist flag, use_groundwater_irrigation. Water can be withdrawn from both the unconfined (from the soil column) and confined (from wa) aquifers. (2) Irrigation method: sprinkler (above canopy) vs. drip (below canopy). This can be set on a per-crop and per-gridcell basis on the surface dataset, but out-of-the-box support for creating the necessary surface dataset field is not yet in place (see ESCOMP#565). For now, it can be controlled globally via a new namelist flag, irrig_method_default. The default is drip, which was what we were previously using implicitly. (3) Set crop fsat to zero. This is controlled by a new namelist option, crop_fsat_equals_zero. Default behavior is the same as before for all three options. Also: - If use_aquifer_layer is false (which is the default for CLM50), no longer reset wa_col every time step - Adds indices to vector history files giving column, landunit and gridcell indices for each patch, etc. (Resolves ESCOMP#81: "Restart files are different for CLM when run over different number of tasks" (issue name is a misnomer of the remaining to-dos in that issue.) - Writes 3d time-constant fields on first history file for all tapes, not just the first - Small performance improvements to irrigation
New options for irrigation and crop fsat Introduce three new options: (1) Ability to withdraw irrigation water from groundwater if not enough water is available from rivers. This is controlled via new namelist flag, use_groundwater_irrigation. Water can be withdrawn from both the unconfined (from the soil column) and confined (from wa) aquifers. (2) Irrigation method: sprinkler (above canopy) vs. drip (below canopy). This can be set on a per-crop and per-gridcell basis on the surface dataset, but out-of-the-box support for creating the necessary surface dataset field is not yet in place (see ESCOMP#565). For now, it can be controlled globally via a new namelist flag, irrig_method_default. The default is drip, which was what we were previously using implicitly. (3) Set crop fsat to zero. This is controlled by a new namelist option, crop_fsat_equals_zero. Default behavior is the same as before for all three options. Also: - If use_aquifer_layer is false (which is the default for CLM50), no longer reset wa_col every time step - Adds indices to vector history files giving column, landunit and gridcell indices for each patch, etc. (Resolves ESCOMP#81: "Restart files are different for CLM when run over different number of tasks" (issue name is a misnomer of the remaining to-dos in that issue.) - Writes 3d time-constant fields on first history file for all tapes, not just the first - Small performance improvements to irrigation
@swensosc @samsrabin I think this is moot now that the approach we plan to take is to have irrigation type on streams files right (#2102)? |
Yep, I agree. |
Closing since this is taken care of with the move of irrigation data to streams files. |
Reopening, as we haven't actually done that yet! |
Oh sorry, I see what you mean now. Sorry! |
In #523 , @swensosc has introduced the ability to read grid cell and crop-specific irrigation methods (currently, sprinkler or drip) from the surface dataset. The following enhancements are needed to make this fully operational out-of-the-box:
Add ability for mksurfdata_map to put this field on surface datasets
Add a method like collapse_crop_types that can do this collapsing for discrete values like this irrigation method (probably taking the dominant type)
[Optional] Make any changes needed to support irrig_method when create_crop_landunit is false. Note that we currently have a workaround (see commits 21616fc and 1074092) that avoids array bounds violations when create_crop_landunit is false, but additional changes would be needed (and the workaround could possibly be backed out) to actually allow this field to be specified on the surface dataset when create_crop_landunit is false.
[Optional] Add this field to transient datasets, if there's a need to have this vary in time
The text was updated successfully, but these errors were encountered: