&ocean_restore_nml: surface buoyancy restoring (MOM6
RESTOREBUOY). Piston-velocity relaxation of top-layer T / S
toward scalar targets. Default OFF ⇒ bit-identical.
| 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_ocean_restore(cfg, schema) !! `&ocean_restore_nml`: surface buoyancy restoring (MOM6 !! `RESTOREBUOY`). Piston-velocity relaxation of top-layer T / S !! toward scalar targets. Default OFF ⇒ bit-identical. type(config_t), target, intent(in) :: cfg type(nml_schema_t), intent(inout) :: schema type(nml_group_t) :: g logical, pointer :: pl real(wp), pointer :: pr g%name = "ocean_restore" g%doc = "Surface buoyancy restoring (MOM6 RESTOREBUOY): "// & "piston-velocity relaxation of top-layer T / S toward targets." pl => cfg%ocean%restore%enable_restore_temp call g%add(nml_logical("enable_restore_temp", pl, & "Master switch for SST restoring")) pl => cfg%ocean%restore%enable_restore_salt call g%add(nml_logical("enable_restore_salt", pl, & "Master switch for SSS restoring")) pr => cfg%ocean%restore%piston_t call g%add(nml_real("piston_t", pr, & "SST piston velocity (MOM6 FLUXCONST_T)", & units="m/day", min=0.0_wp)) pr => cfg%ocean%restore%piston_s call g%add(nml_real("piston_s", pr, & "SSS piston velocity (MOM6 FLUXCONST_S)", & units="m/day", min=0.0_wp)) pr => cfg%ocean%restore%restore_sst call g%add(nml_real("restore_sst", pr, & "Scalar target SST", units="degC")) pr => cfg%ocean%restore%restore_sss call g%add(nml_real("restore_sss", pr, & "Scalar target SSS", units="PSU")) call schema%add_group(g) end subroutine register_ocean_restore