Construct a real key, capturing the current target as default.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | name | |||
| real(kind=rk), | intent(in), | pointer | :: | tgt | ||
| character(len=*), | intent(in) | :: | doc | |||
| character(len=*), | intent(in), | optional | :: | units | ||
| logical, | intent(in), | optional | :: | required | ||
| real(kind=rk), | intent(in), | optional | :: | min | ||
| real(kind=rk), | intent(in), | optional | :: | max | ||
| character(len=*), | intent(in), | optional | :: | dead_on_ocean_path |
function nml_real(name, tgt, doc, units, required, min, max, dead_on_ocean_path) result(key) !! Construct a real key, capturing the current target as default. character(len=*), intent(in) :: name, doc real(rk), pointer, intent(in) :: tgt character(len=*), intent(in), optional :: units logical, intent(in), optional :: required real(rk), intent(in), optional :: min, max character(len=*), intent(in), optional :: dead_on_ocean_path type(nml_real_key_t) :: key key%name = name key%doc = doc key%units = "" if (present(units)) key%units = units if (present(required)) key%required = required key%dead_reason = "" if (present(dead_on_ocean_path)) key%dead_reason = dead_on_ocean_path key%tgt => tgt key%default = tgt if (present(min)) then key%vmin = min key%has_min = .true. end if if (present(max)) then key%vmax = max key%has_max = .true. end if end function nml_real