MOM6
MOM_offline_main.F90 File Reference
#include "MOM_memory.h"
#include "version_variable.h"
Include dependency graph for MOM_offline_main.F90:

Go to the source code of this file.

Data Types

type  mom_offline_main::offline_transport_cs
 The control structure for the offline transport module. More...
 

Modules

module  mom_offline_main
 The routines here implement the offline tracer algorithm used in MOM6. These are called from step_offline Some routines called here can be found in the MOM_offline_aux module.
 

Functions/Subroutines

subroutine, public mom_offline_main::offline_advection_ale (fluxes, Time_start, time_interval, CS, id_clock_ale, h_pre, uhtr, vhtr, converged)
 3D advection is done by doing flux-limited nonlinear horizontal advection interspersed with an ALE regridding/remapping step. The loop in this routine is exited if remaining residual transports are below a runtime-specified value or a maximum number of iterations is reached. More...
 
subroutine, public mom_offline_main::offline_redistribute_residual (CS, h_pre, uhtr, vhtr, converged)
 In the case where the main advection routine did not converge, something needs to be done with the remaining transport. Two different ways are offered, 'barotropic' means that the residual is distributed equally throughout the water column. 'upwards' attempts to redistribute the transport in the layers above and will eventually work down the entire water column. More...
 
real function mom_offline_main::remaining_transport_sum (CS, uhtr, vhtr)
 Sums any non-negligible remaining transport to check for advection convergence. More...
 
subroutine, public mom_offline_main::offline_diabatic_ale (fluxes, Time_start, Time_end, CS, h_pre, eatr, ebtr)
 The vertical/diabatic driver for offline tracers. First the eatr/ebtr associated with the interpolated vertical diffusivities are calculated and then any tracer column functions are done which can include vertical diffuvities and source/sink terms. More...
 
subroutine, public mom_offline_main::offline_fw_fluxes_into_ocean (G, GV, CS, fluxes, h, in_flux_optional)
 Apply positive freshwater fluxes (into the ocean) and update netMassOut with only the negative (out of the ocean) fluxes. More...
 
subroutine, public mom_offline_main::offline_fw_fluxes_out_ocean (G, GV, CS, fluxes, h, out_flux_optional)
 Apply negative freshwater fluxes (out of the ocean) More...
 
subroutine, public mom_offline_main::offline_advection_layer (fluxes, Time_start, time_interval, CS, h_pre, eatr, ebtr, uhtr, vhtr)
 When in layer mode, 3D horizontal advection using stored mass fluxes must be used. Horizontal advection is done via tracer_advect, whereas the vertical component is actually handled by vertdiff in tracer_column_fns. More...
 
subroutine, public mom_offline_main::update_offline_fields (CS, h, fluxes, do_ale)
 Update fields used in this round of offline transport. First fields are updated from files or from arrays read during initialization. Then if in an ALE-dependent coordinate, regrid/remap fields. More...
 
subroutine, public mom_offline_main::register_diags_offline_transport (Time, diag, CS)
 Initialize additional diagnostics required for offline tracer transport. More...
 
subroutine, public mom_offline_main::post_offline_convergence_diags (CS, h_off, h_end, uhtr, vhtr)
 Posts diagnostics related to offline convergence diagnostics. More...
 
subroutine, public mom_offline_main::extract_offline_main (CS, uhtr, vhtr, eatr, ebtr, h_end, accumulated_time, dt_offline, dt_offline_vertical, skip_diffusion)
 Extracts members of the offline main control structure. All arguments are optional except the control structure itself. More...
 
subroutine, public mom_offline_main::insert_offline_main (CS, ALE_CSp, diabatic_CSp, diag, OBC, tracer_adv_CSp, tracer_flow_CSp, tracer_Reg, tv, G, GV, x_before_y, debug)
 Inserts (assigns values to) members of the offline main control structure. All arguments are optional except for the CS itself. More...
 
subroutine, public mom_offline_main::offline_transport_init (param_file, CS, diabatic_CSp, G, GV, US)
 Initializes the control structure for offline transport and reads in some of the. More...
 
subroutine mom_offline_main::read_all_input (CS)
 Coordinates the allocation and reading in all time levels of uh, vh, hend, temp, and salt from files. Used when read_all_ts_uvh. More...
 
subroutine, public mom_offline_main::offline_transport_end (CS)
 Deallocates (if necessary) arrays within the offline control structure. More...