&ocean_tides (C1 equilibrium astronomical body-force tide).
| 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 | |||
| character(len=:), | private, | pointer | :: | ps |
subroutine register_ocean_tides(cfg, schema) !! `&ocean_tides` (C1 equilibrium astronomical body-force tide). 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 character(len=:), pointer :: ps g%name = "ocean_tides" g%doc = "Equilibrium (astronomical) body-force tide (C1) + scalar SAL (C2)." pl => cfg%ocean%tides%enable call g%add(nml_logical("enable", pl, & "Master switch (requires a non-cartesian grid)")) pl => cfg%ocean%tides%use_sal call g%add(nml_logical("use_sal", pl, & "Apply scalar self-attraction & loading (C2)")) pr => cfg%ocean%tides%beta_sal call g%add(nml_real("beta_sal", pr, & "Scalar SAL factor beta (~0.085-0.12)")) pl => cfg%ocean%tides%add_nodal call g%add(nml_logical("add_nodal", pl, & "Apply the 18.6-yr nodal f/u corrections")) ps => cfg%ocean%tides%constituents call g%add(nml_string("constituents", ps, & "Active constituent list (e.g. 'M2 S2 K1 O1')")) ps => cfg%ocean%tides%ref_date call g%add(nml_string("ref_date", ps, & "Astronomical reference date YYYY-MM-DD")) ps => cfg%ocean%tides%nodal_ref_date call g%add(nml_string("nodal_ref_date", ps, & "Nodal reference date ('' => ref_date)")) call schema%add_group(g) end subroutine register_ocean_tides