Go to the documentation of this file.
8 implicit none ;
private
20 real,
allocatable,
dimension(:) :: coordinateresolution
30 integer,
intent(in) :: nk
31 real,
dimension(:),
intent(in) :: coordinateresolution
33 if (
associated(cs))
call mom_error(fatal,
"init_coord_sigma: CS already associated!")
35 allocate(cs%coordinateResolution(nk))
38 cs%coordinateResolution = coordinateresolution
46 if (.not.
associated(cs))
return
47 deallocate(cs%coordinateResolution)
54 real,
optional,
intent(in) :: min_thickness
56 if (.not.
associated(cs))
call mom_error(fatal,
"set_sigma_params: CS not associated")
58 if (
present(min_thickness)) cs%min_thickness = min_thickness
65 real,
intent(in) :: depth
66 real,
intent(in) :: totalthickness
67 real,
dimension(CS%nk+1),
intent(inout) :: zinterface
72 zinterface(cs%nk+1) = -depth
74 zinterface(k) = zinterface(k+1) + (totalthickness * cs%coordinateResolution(k))
77 if (zinterface(k) < (zinterface(k+1) + cs%min_thickness))
then
78 zinterface(k) = zinterface(k+1) + cs%min_thickness
subroutine, public init_coord_sigma(CS, nk, coordinateResolution)
Initialise a sigma_CS with pointers to parameters.
subroutine, public build_sigma_column(CS, depth, totalThickness, zInterface)
Build a sigma coordinate column.
Control structure containing required parameters for the sigma coordinate.
subroutine, public mom_error(level, message, all_print)
This provides a convenient interface for writing an mpp_error message with run-time filter based on a...
subroutine, public set_sigma_params(CS, min_thickness)
This subroutine can be used to set the parameters for the coord_sigma module.
subroutine, public end_coord_sigma(CS)
This subroutine deallocates memory in the control structure for the coord_sigma module.
Regrid columns for the sigma coordinate.
Routines for error handling and I/O management.