&physics_nml: barotropic physics + bottom drag + wind stress.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(config_t), | intent(in), | target | :: | cfg | ||
| type(nml_schema_t), | intent(inout) | :: | schema |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(nml_group_t), | private | :: | g | ||||
| logical, | private, | pointer | :: | pl | |||
| real(kind=wp), | private, | pointer | :: | pr |
subroutine register_physics(cfg, schema) !! `&physics_nml`: barotropic physics + bottom drag + wind stress. type(config_t), target, intent(in) :: cfg type(nml_schema_t), intent(inout) :: schema type(nml_group_t) :: g real(wp), pointer :: pr logical, pointer :: pl g%name = "physics" g%doc = "Barotropic physics: bottom drag, wind stress, Coriolis." pr => cfg%manning_n call g%add(nml_real("manning_n", pr, "Manning roughness coefficient", & dead_on_ocean_path="coastal-legacy A-grid bottom-drag knob; the A-grid "// & "god state that read it is gone (see rdb_state.F90's module docstring). "// & "The ocean path's drag is &ocean_bdrag_nml.")) pr => cfg%wind_stress_x call g%add(nml_real("wind_stress_x", pr, "Surface wind stress in x", units="Pa")) pr => cfg%wind_stress_y call g%add(nml_real("wind_stress_y", pr, "Surface wind stress in y", units="Pa")) pr => cfg%coriolis_f call g%add(nml_real("coriolis_f", pr, "Coriolis parameter f", units="1/s")) call schema%add_group(g) end subroutine register_physics