Go to the documentation of this file.
8 use mom_cpu_clock,
only : cpu_clock_id, cpu_clock_begin, cpu_clock_end
15 use mpp_mod,
only : mpp_sum, mpp_max, mpp_min, mpp_pe, mpp_npes, mpp_sync
19 implicit none ;
private
25 real,
pointer,
dimension(:,:) :: &
26 mass_shelf => null(), &
27 area_shelf_h => null(), &
40 tflux_ocn => null(), &
42 salt_flux => null(), &
44 water_flux => null(), &
46 tflux_shelf => null(), &
61 integer :: isd, ied, jsd, jed
62 isd = g%isd ; jsd = g%jsd ; ied = g%ied ; jed = g%jed
64 if (
associated(iss))
then
65 call mom_error(fatal,
"MOM_ice_shelf_state.F90, ice_shelf_state_init: "// &
66 "called with an associated ice_shelf_state pointer.")
71 allocate(iss%mass_shelf(isd:ied,jsd:jed) ) ; iss%mass_shelf(:,:) = 0.0
72 allocate(iss%area_shelf_h(isd:ied,jsd:jed) ) ; iss%area_shelf_h(:,:) = 0.0
73 allocate(iss%h_shelf(isd:ied,jsd:jed) ) ; iss%h_shelf(:,:) = 0.0
74 allocate(iss%hmask(isd:ied,jsd:jed) ) ; iss%hmask(:,:) = -2.0
76 allocate(iss%tflux_ocn(isd:ied,jsd:jed) ) ; iss%tflux_ocn(:,:) = 0.0
77 allocate(iss%water_flux(isd:ied,jsd:jed) ) ; iss%water_flux(:,:) = 0.0
78 allocate(iss%salt_flux(isd:ied,jsd:jed) ) ; iss%salt_flux(:,:) = 0.0
79 allocate(iss%tflux_shelf(isd:ied,jsd:jed) ) ; iss%tflux_shelf(:,:) = 0.0
80 allocate(iss%tfreeze(isd:ied,jsd:jed) ) ; iss%tfreeze(:,:) = 0.0
89 if (.not.
associated(iss))
return
91 deallocate(iss%mass_shelf, iss%area_shelf_h, iss%h_shelf, iss%hmask)
93 deallocate(iss%tflux_ocn, iss%water_flux, iss%salt_flux, iss%tflux_shelf)
94 deallocate(iss%tfreeze)
subroutine, public destroy_dyn_horgrid(G)
Release memory used by the dyn_horgrid_type and related structures.
subroutine, public ice_shelf_state_init(ISS, G)
Deallocates all memory associated with this module.
Checksums an array (2d or 3d) staggered at C-grid v points.
An overloaded interface to log version information about modules.
This is an older interface that has been renamed Bchksum.
Contains a shareable dynamic type for describing horizontal grids and metric data and utilty routines...
subroutine, public mom_mesg(message, verb, all_print)
This provides a convenient interface for writing an informative comment.
Checksums a pair velocity arrays (2d or 3d) staggered at C-grid locations.
A structure that can be parsed to read and document run-time parameters.
This is an older interface for 1-, 2-, or 3-D checksums.
An overloaded interface to read and log the values of various types of parameters.
Interfaces to non-domain-oriented communication subroutines, including the MOM6 reproducing sums faci...
Implements the thermodynamic aspects of ocean / ice-shelf interactions, along with a crude placeholde...
subroutine, public mom_grid_init(G, param_file, US, HI, global_indexing, bathymetry_at_vel)
MOM_grid_init initializes the ocean grid array sizes and grid memory.
Routines to calculate checksums of various array and vector types.
subroutine, public create_dyn_horgrid(G, HI, bathymetry_at_vel)
Allocate memory used by the dyn_horgrid_type and related structures.
Structure that describes the ice shelf state.
Wraps the MPP cpu clock functions.
The MOM6 facility to parse input files for runtime parameters.
Provides the ocean grid type.
logical function, public is_root_pe()
This returns .true. if the current PE is the root PE.
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...
Checksums an array (2d or 3d) staggered at C-grid u points.
Find an accurate and order-invariant sum of distributed 2d or 3d fields.
Checksums an array (2d or 3d) staggered at tracer points.
An overloaded interface to log the values of various types of parameters.
subroutine, public ice_shelf_state_end(ISS)
Deallocates all memory associated with this module.
Routines for error handling and I/O management.
Describes the horizontal ocean grid with only dynamic memory arrays.
Ocean grid type. See mom_grid for details.
An overloaded interface to read various types of parameters.