coord_hycom module reference
Regrid columns for the HyCOM coordinate.
Data Types
Control structure containing required parameters for the HyCOM coordinate. |
Functions/Subroutines
Initialise a hycom_CS with pointers to parameters. |
|
Initialise a hycom_CS with pointers to parameters. |
|
This subroutine deallocates memory in the control structure for the |
|
This subroutine can be used to set the parameters for the |
|
Build a HyCOM coordinate column. |
|
Calculate interface density anomaly w.r.t. |
Detailed Description
Regrid columns for the HyCOM coordinate.
Type Documentation
- type coord_hycom/hycom_cs
Control structure containing required parameters for the HyCOM coordinate.
- Type fields:
% nk ::
integerNumber of layers/levels in generated grid.% coordinateresolution ::
real, dimension(:), allocatableNominal near-surface resolution [Z ~> m].% target_density ::
real, dimension(:), allocatableNominal density of interfaces [R ~> kg m-3].% max_interface_depths ::
real, dimension(:), allocatableMaximum depths of interfaces [H ~> m or kg m-2].% max_layer_thickness ::
real, dimension(:), allocatableMaximum thicknesses of layers [H ~> m or kg m-2].% only_improves ::
logicalIf true, an interface only moves if it improves the density fit.% use_3d ::
logicalIf true, use 3-D control fields.% target_density_3d ::
real, dimension(:,:,:), allocatableNominal density of interfaces [R ~> kg m-3].% coordinateresolution_3d ::
real, dimension(:,:,:), allocatableNominal near-surface resolution [Z ~> m].% interp_cs ::
type(interp_cs_type)Interpolation control structure.
Function/Subroutine Documentation
- subroutine coord_hycom/init_coord_hycom(CS, nk, coordinateResolution, target_density, interp_CS)
Initialise a hycom_CS with pointers to parameters.
- Parameters:
cs :: Unassociated pointer to hold the control structure
nk ::
nk[in] Number of layers in generated gridcoordinateresolution :: [in] Nominal near-surface resolution [Z ~> m]
target_density ::
target_density[in] Interface target densities [R ~> kg m-3]interp_cs :: [in] Controls for interpolation
- Call to:
- subroutine coord_hycom/init_3d_coord_hycom(CS, G, nk, coordinateResolution, target_density, interp_CS)
Initialise a hycom_CS with pointers to parameters.
- Parameters:
cs :: Unassociated pointer to hold the control structure
g :: [in] Ocean grid structure
nk ::
nk[in] Number of layers in generated gridcoordinateresolution :: [in] Nominal near-surface resolution [Z ~> m]
target_density ::
target_density[in] Interface target densities [R ~> kg m-3]interp_cs :: [in] Controls for interpolation
- Call to:
- Called from:
- subroutine coord_hycom/end_coord_hycom(CS)
This subroutine deallocates memory in the control structure for the
coord_hycom()module. module.- Parameters:
cs :: Coordinate control structure
- subroutine coord_hycom/set_hycom_params(CS, max_interface_depths, max_layer_thickness, only_improves, interp_CS)
This subroutine can be used to set the parameters for the
coord_hycom()module. module.- Parameters:
cs :: Coordinate control structure
max_interface_depths ::
max_interface_depths[in] Maximum depths of interfaces [H ~> m or kg m-2]max_layer_thickness ::
max_layer_thickness[in] Maximum thicknesses of layers [H ~> m or kg m-2]only_improves ::
only_improves[in] If true, an interface only moves if it improves the density fitinterp_cs :: [in] Controls for interpolation
- Call to:
- subroutine coord_hycom/build_hycom1_column(CS, remapCS, eqn_of_state, nz, ix, jy, depth, h, T, S, p_col, z_col, z_col_new, zScale, h_neglect, h_neglect_edge)
Build a HyCOM coordinate column.
- Parameters:
cs :: [in] Coordinate control structure
remapcs :: [in] Remapping parameters and options
eqn_of_state ::
eqn_of_state[in] Equation of state structurenz ::
nz[in] Number of levelsix ::
ix[in] x direction array indexjy ::
jy[in] y direction array indexdepth ::
depth[in] Depth of ocean bottom (positive [H ~> m or kg m-2])t :: [in] Temperature of column [C ~> degC]
s :: [in] Salinity of column [S ~> ppt]
h ::
h[in] Layer thicknesses [H ~> m or kg m-2]p_col ::
p_col[in] Layer pressure [R L2 T-2 ~> Pa]z_col ::
z_col[in] Interface positions relative to the surface [H ~> m or kg m-2]z_col_new ::
z_col_new[inout] Absolute positions of interfaces [H ~> m or kg m-2]zscale :: [in] Scaling factor from the input coordinate thicknesses in [Z ~> m] to desired units for zInterface, perhaps GVZ_to_H in which case this has units of [H Z-1 ~> nondim or kg m-3]
h_neglect ::
h_neglect[in] A negligibly small width for the purpose of cell reconstruction [H ~> m or kg m-2]h_neglect_edge ::
h_neglect_edge[in] A negligibly small width for the purpose of edge value calculation [H ~> m or kg m-2]
- Call to:
- subroutine coord_hycom/build_hycom1_target_anomaly(CS, remapCS, eqn_of_state, nz, ix, jy, depth, h, T, S, p_col, R, RiAnom, h_neglect, h_neglect_edge)
Calculate interface density anomaly w.r.t. the target.
- Parameters:
cs :: [in] Coordinate control structure
remapcs :: [in] Remapping parameters and options
eqn_of_state ::
eqn_of_state[in] Equation of state structurenz ::
nz[in] Number of levelsix ::
ix[in] x direction array indexjy ::
jy[in] y direction array indexdepth ::
depth[in] Depth of ocean bottom (positive [H ~> m or kg m-2])t :: [in] Temperature of column [C ~> degC]
s :: [in] Salinity of column [S ~> ppt]
h ::
h[in] Layer thicknesses [H ~> m or kg m-2]p_col ::
p_col[in] Layer pressure [R L2 T-2 ~> Pa]r :: [out] Layer density [R ~> kg m-3]
rianom :: [out] The interface density anomaly w.r.t. the interface target densities [R ~> kg m-3]
h_neglect ::
h_neglect[in] A negligibly small width for the purpose of cell reconstruction [H ~> m or kg m-2]h_neglect_edge ::
h_neglect_edge[in] A negligibly small width for the purpose of edge value calculation [H ~> m or kg m-2]
- Called from: