Layer→fixed-sigma vertical remap (terrain-following output grid).
levels(:) are cumulative sigma fractions (0..1, shallow→deep); the
m-th output cell spans [levels(m-1), levels(m)] * col_h. Same
conservative donor-cell overlap as remap_layer_to_z; see its
docstring for the intensive/extensive contract.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(*), | intent(in) | :: | state_handle | |||
| real(kind=wp), | intent(in) | :: | levels(:) | |||
| real(kind=wp), | intent(in) | :: | layer_buf(:,:,:) | |||
| real(kind=wp), | intent(inout) | :: | output_buf(:,:,:) | |||
| logical, | intent(in) | :: | is_extensive |
subroutine remap_layer_to_sigma(state_handle, levels, layer_buf, output_buf, is_extensive) !! Layer→fixed-sigma vertical remap (terrain-following output grid). !! `levels(:)` are cumulative sigma fractions (0..1, shallow→deep); the !! m-th output cell spans `[levels(m-1), levels(m)] * col_h`. Same !! conservative donor-cell overlap as `remap_layer_to_z`; see its !! docstring for the intensive/extensive contract. class(*), intent(in) :: state_handle real(wp), intent(in) :: levels(:) real(wp), intent(in) :: layer_buf(:, :, :) real(wp), intent(inout) :: output_buf(:, :, :) logical, intent(in) :: is_extensive select type (state => state_handle) class is (ocean_state_t) call remap_layer_to_vcoord_impl(DIAG_VGRID_SIGMA, state%multilayer%h_layer, & levels, layer_buf, output_buf, is_extensive, & diag_remap_method, diag_mask_vanished, & DIAG_MISSING_VALUE) end select end subroutine remap_layer_to_sigma