register_ocean_restore Subroutine

private 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.

Arguments

Type IntentOptional Attributes Name
type(config_t), intent(in), target :: cfg
type(nml_schema_t), intent(inout) :: schema

Calls

proc~~register_ocean_restore~~CallsGraph proc~register_ocean_restore register_ocean_restore proc~group_add nml_group_t%group_add proc~register_ocean_restore->proc~group_add proc~nml_logical nml_logical proc~register_ocean_restore->proc~nml_logical proc~nml_real nml_real proc~register_ocean_restore->proc~nml_real proc~schema_add_group nml_schema_t%schema_add_group proc~register_ocean_restore->proc~schema_add_group error error proc~group_add->error proc~lower lower proc~group_add->proc~lower proc~schema_add_group->error proc~schema_add_group->proc~lower proc~move_group move_group proc~schema_add_group->proc~move_group

Called by

proc~~register_ocean_restore~~CalledByGraph proc~register_ocean_restore register_ocean_restore proc~build_rdb_schema build_rdb_schema proc~build_rdb_schema->proc~register_ocean_restore proc~read_config_from_string_impl read_config_from_string_impl proc~read_config_from_string_impl->proc~build_rdb_schema proc~read_config_impl read_config_impl proc~read_config_impl->proc~build_rdb_schema proc~read_config read_config proc~read_config->proc~read_config_impl proc~read_config_from_string read_config_from_string proc~read_config_from_string->proc~read_config_from_string_impl proc~build_pending_handle build_pending_handle proc~build_pending_handle->proc~read_config_from_string proc~rdb_ocean_create_from_string rdb_ocean_create_from_string proc~rdb_ocean_create_from_string->proc~build_pending_handle proc~rdb_ocean_create_pending rdb_ocean_create_pending proc~rdb_ocean_create_pending->proc~build_pending_handle

Variables

Type Visibility Attributes Name Initial
type(nml_group_t), private :: g
logical, private, pointer :: pl
real(kind=wp), private, pointer :: pr

Source Code

   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