Global Namespace

Overview

// namespaces

namespace MOM_energetic_PBL;
namespace MOM_oda_driver_mod;
namespace MOM_tracer_flow_control;
namespace NETCDF;
namespace PCM_functions;
namespace adjustment_initialization;
namespace advection_test_tracer;
namespace atmos_ocean_fluxes_mod;
namespace baroclinic_zone_initialization;
namespace benchmark_initialization;
namespace bfb_initialization;
namespace bfb_surface_forcing;
namespace boundary_impulse_tracer;
namespace circle_obcs_initialization;
namespace coord_adapt;
namespace coord_hycom;
namespace coord_rho;
namespace coord_sigma;
namespace coord_slight;
namespace coord_zlike;
namespace dense_water_initialization;
namespace dome2d_initialization;
namespace dome_initialization;
namespace dome_tracer;
namespace dumbbell_initialization;
namespace dumbbell_surface_forcing;
namespace dyed_channel_initialization;
namespace dyed_obc_tracer;
namespace dyed_obcs_initialization;
namespace external_gwave_initialization;
namespace ideal_age_example;
namespace idealized_hurricane;
namespace isomip_initialization;
namespace isomip_tracer;
namespace kelvin_initialization;
namespace lock_exchange_initialization;
namespace meso_surface_forcing;
namespace midas_vertmap;
namespace mom;
namespace mom_ale;
namespace mom_ale_sponge;
namespace mom_barotropic;
namespace mom_bkgnd_mixing;
namespace mom_boundary_update;
namespace mom_bulk_mixed_layer;
namespace mom_checksum_packages;
namespace mom_checksums;
namespace mom_coms;
namespace mom_constants;
namespace mom_continuity;
namespace mom_continuity_ppm;
namespace mom_controlled_forcing;
namespace mom_coord_initialization;
namespace mom_coriolisadv;
namespace mom_cpu_clock;
namespace mom_cvmix_conv;
namespace mom_cvmix_ddiff;
namespace mom_cvmix_kpp;
namespace mom_cvmix_shear;
namespace mom_debugging;
namespace mom_diabatic_aux;
namespace mom_diabatic_driver;
namespace mom_diag_manager_wrapper;
namespace mom_diag_mediator;
namespace mom_diag_remap;
namespace mom_diag_vkernels;
namespace mom_diagnostics;
namespace mom_diapyc_energy_req;
namespace mom_document;
namespace mom_domains;
namespace mom_dyn_horgrid;
namespace mom_dynamics_split_rk2;
namespace mom_dynamics_unsplit;
namespace mom_dynamics_unsplit_rk2;
namespace mom_energetic_pbl;
namespace mom_entrain_diffusive;
namespace mom_eos;
namespace mom_eos_linear;
namespace mom_eos_nemo;
namespace mom_eos_teos10;
namespace mom_eos_unesco;
namespace mom_eos_wright;
namespace mom_error_handler;
namespace mom_file_parser;
namespace mom_fixed_initialization;
namespace mom_forcing_type;
namespace mom_full_convection;
namespace mom_generic_tracer;
namespace mom_geothermal;
namespace mom_get_input;
namespace mom_grid;
namespace mom_grid_initialize;
namespace mom_hor_index;
namespace mom_hor_visc;
namespace mom_horizontal_regridding;
namespace mom_ice_shelf;
namespace mom_ice_shelf_dynamics;
namespace mom_ice_shelf_initialize;
namespace mom_ice_shelf_state;
namespace mom_int_tide_input;
namespace mom_interface_heights;
namespace mom_internal_tides;
namespace mom_intrinsic_functions;
namespace mom_io;
namespace mom_isopycnal_slopes;
namespace mom_kappa_shear;
namespace mom_lateral_mixing_coeffs;
namespace mom_marine_ice;
namespace mom_meke;
namespace mom_meke_types;
namespace mom_mixed_layer_restrat;
namespace mom_neutral_diffusion;
namespace mom_neutral_diffusion_aux;
namespace mom_obsolete_diagnostics;
namespace mom_obsolete_params;
namespace mom_ocmip2_cfc;
namespace mom_oda_driver_mod;
namespace mom_offline_aux;
namespace mom_offline_main;
namespace mom_opacity;
namespace mom_open_boundary;
namespace mom_pointaccel;
namespace mom_pressureforce;
namespace mom_pressureforce_afv;
namespace mom_pressureforce_blk_afv;
namespace mom_pressureforce_mont;
namespace mom_regridding;
namespace mom_regularize_layers;
namespace mom_remapping;
namespace mom_restart;
namespace mom_safe_alloc;
namespace mom_set_diffusivity;
namespace mom_set_visc;
namespace mom_shared_initialization;
namespace mom_spatial_means;
namespace mom_sponge;
namespace mom_state_initialization;
namespace mom_string_functions;
namespace mom_sum_output;
namespace mom_surface_forcing;
namespace mom_tfreeze;
namespace mom_thickness_diffuse;
namespace mom_tidal_forcing;
namespace mom_tidal_mixing;
namespace mom_time_manager;
namespace mom_tracer_advect;
namespace mom_tracer_diabatic;
namespace mom_tracer_flow_control;
namespace mom_tracer_hor_diff;
namespace mom_tracer_initialization_from_z;
namespace mom_tracer_registry;
namespace mom_tracer_z_init;
namespace mom_transcribe_grid;
namespace mom_unit_scaling;
namespace mom_unit_tests;
namespace mom_variables;
namespace mom_vert_friction;
namespace mom_verticalgrid;
namespace mom_wave_interface;
namespace mom_wave_speed;
namespace mom_wave_structure;
namespace mom_write_cputime;
namespace netcdf;
namespace neverland_initialization;
namespace neverland_surface_forcing;
namespace ocean_model_mod;
namespace oil_tracer;
namespace p1m_functions;
namespace p3m_functions;
namespace pcm_functions;
namespace phillips_initialization;
namespace plm_functions;
namespace polynomial_functions;
namespace ppm_functions;
namespace pqm_functions;
namespace pseudo_salt_tracer;
namespace regional_dyes;
namespace regrid_consts;
namespace regrid_edge_slopes;
namespace regrid_edge_values;
namespace regrid_interp;
namespace regrid_solvers;
namespace rgc_initialization;
namespace rgc_tracer;
namespace rossby_front_2d_initialization;
namespace scm_cvmix_tests;
namespace seamount_initialization;
namespace shelfwave_initialization;
namespace sloshing_initialization;
namespace soliton_initialization;
namespace supercritical_initialization;
namespace tidal_bay_initialization;
namespace tidal_forcing;
namespace user_change_diffusivity;
namespace user_initialization;
namespace user_revise_forcing;
namespace user_shelf_init;
namespace user_surface_forcing;
namespace user_tracer_example;

// global functions

program mom_main();
character(len = *);

// macros

#define ALLOCABLE_
#define ALLOC_(x)
#define C1_
#define C2_
#define C3_
#define DEALLOC_(x)
#define GRID_SYM_

#define IMPLIES( \
    A, \
    B \
    )

#define MAX_DSAMP_LEV
#define MAX_FIELDS_
#define NIGLOBAL_
#define NIHALO_
#define NIMEMBW_
#define NIMEMB_
#define NIMEMB_PTR_
#define NIMEMB_SYM_
#define NIMEMW_
#define NIMEM_
#define NIPROC_
#define NJGLOBAL_
#define NJHALO_
#define NJMEMBW_
#define NJMEMB_
#define NJMEMB_PTR_
#define NJMEMB_SYM_
#define NJMEMW_
#define NJMEM_
#define NJPROC_
#define NKMEM0_
#define NKMEM_
#define NK_
#define NK_INTERFACE_
#define PTR_
#define SZDIB_(G)
#define SZDI_(G)
#define SZDJB_(G)
#define SZDJ_(G)
#define SZIBS_(G)
#define SZIBW_(G)
#define SZIB_(G)
#define SZIW_(G)
#define SZI_(G)
#define SZJBS_(G)
#define SZJBW_(G)
#define SZJB_(G)
#define SZJW_(G)
#define SZJ_(G)
#define SZK0_(G)
#define SZK_(G)
#define TO_NULL_

Detailed Documentation

Macros

#define ALLOCABLE_

Attaches the ALLOCATABLE attribute to an array in dynamic memory mode. Does nothing in static memory mode.

#define ALLOC_(x)

Allocates array x when using dynamic memory mode. Does nothing in static memory mode.

#define C1_

Expands to : or 1. UNKNOWN PURPOSE!

#define C2_

Expands to : or 2. UNKNOWN PURPOSE!

#define C3_

Expands to : or 3. UNKNOWN PURPOSE!

#define DEALLOC_(x)

Deallocates array x when using dynamic memory mode. Does nothing in static memory mode.

#define MAX_FIELDS_

The maximum permitted number (each) of restart variables, time derivatives, etc.

This is mostly used for the size of pointer arrays, so it should be set generously.

#define NIGLOBAL_

The number of thickness grid points in the i-direction of the global domain.

#define NIHALO_

The number of memory halo cells on each side of the computational domain in the i-direction.

#define NIMEMB_

Expands to : or 0: in dynamic memory mode, or is the staggered i-shape of a tile in static memory mode.

Use for heap (ALLOCABLE_ or PTR_) variables at q- or u- points.

#define NIMEMB_PTR_

Expands to : in dynamic memory mode, or to NIMEMB_ in static memory mode.

Use for heap (ALLOCABLE_ or PTR_) variables at h- or v- points.

#define NIMEMB_SYM_

Expands to 0: in dynamic memory mode, or is the staggered i-shape of a tile in static memory mode.

Use for always-symmetric heap (ALLOCABLE_ or PTR_) variables at q- or u- points.

#define NIMEM_

Expands to : in dynamic memory mode, or is the i-shape of a tile in static memory mode.

Use for heap (ALLOCABLE_ or PTR_) variables at h- or v- points.

#define NIPROC_

The number of processors in the i-direction.

#define NJGLOBAL_

The number of thickness grid points in the j-direction of the global domain.

#define NJHALO_

The number of memory halo cells on each side of the computational domain in the j-direction.

#define NJMEMB_

Expands to : or 0: in dynamic memory mode, or is the staggered j-shape of a tile in static memory mode.

Use for heap (ALLOCABLE_ or PTR_) variables at q- or v- points.

#define NJMEMB_PTR_

Expands to : in dynamic memory mode, or to NJMEMB_ in static memory mode.

Use for heap (ALLOCABLE_ or PTR_) variables at h- or u- points.

#define NJMEMB_SYM_

Expands to 0: in dynamic memory mode, or is the staggered j-shape of a tile in static memory mode.

Use for always-symmetric heap (ALLOCABLE_ or PTR_) variables at q- or v- points.

#define NJMEM_

Expands to : in dynamic memory mode, or is the j-shape of a tile in static memory mode.

Use for heap (ALLOCABLE_ or PTR_) variables at h- or u- points.

#define NJPROC_

The number of processors in the j-direction.

#define NKMEM0_

Expands to 0: in dynamic memory mode or to 0:NK_ in static memory mode.

Use for heap (ALLOCABLE_ or PTR_) interface variables.

#define NKMEM_

Expands to : in dynamic memory mode or is to the number of layers in static memory mode.

Use for heap (ALLOCABLE_ or PTR_) layer variables.

#define NK_

The number of layers in the vertical direction.

#define NK_INTERFACE_

Expands to : in dynamic memory mode or to NK_+1 in static memory mode.

Use for heap (ALLOCABLE_ or PTR_) interface variables.

#define PTR_

Attaches the POINTER attribute to an array in dynamic memory mode. Does nothing in static memory mode.

#define SZDIB_(G)

The i-shape of a dynamic dummy argument staggered at q- or u-points.

#define SZDI_(G)

The i-shape of a dynamic dummy argument staggered at h- or v-points.

#define SZDJB_(G)

The j-shape of a dynamic dummy argument staggered at q- or v-points.

#define SZDJ_(G)

The j-shape of a dynamic dummy argument staggered at h- or u-points.

#define SZIBS_(G)

The i-shape of a symmetric dummy argument staggered at q- or u-points.

#define SZIB_(G)

The i-shape of a dummy argument staggered at q- or u-points.

#define SZI_(G)

The i-shape of a dummy argument staggered at h- or v-points.

#define SZJBS_(G)

The j-shape of a symmetric dummy argument staggered at q- or v-points.

#define SZJB_(G)

The j-shape of a dummy argument staggered at q- or v-points.

#define SZJ_(G)

The j-shape of a dummy argument staggered at h- or u-points.

#define SZK0_(G)

The k-shape of an interface dummy argument.

#define SZK_(G)

The k-shape of a layer dummy argument.

#define TO_NULL_

Nullify a pointer in dynamic memory mode. Does nothing in static memory mode.