Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document 31 real variables units #514

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/core/MOM_barotropic.F90
Original file line number Diff line number Diff line change
Expand Up @@ -409,7 +409,7 @@ module MOM_barotropic
!>@}

!> A negligible parameter which avoids division by zero, but is too small to
!! modify physical values.
!! modify physical values [nondim].
real, parameter :: subroundoff = 1e-30

contains
Expand Down Expand Up @@ -662,7 +662,7 @@ subroutine btstep(U_in, V_in, eta_in, dt, bc_accel_u, bc_accel_v, forces, pbce,
time_bt_start, & ! The starting time of the barotropic steps.
time_step_end, & ! The end time of a barotropic step.
time_end_in ! The end time for diagnostics when this routine started.
real :: time_int_in ! The diagnostics' time interval when this routine started.
real :: time_int_in ! The diagnostics' time interval when this routine started [s]
real :: Htot_avg ! The average total thickness of the tracer columns adjacent to a
! velocity point [H ~> m or kg m-2]
logical :: do_hifreq_output ! If true, output occurs every barotropic step.
Expand Down Expand Up @@ -3972,7 +3972,7 @@ subroutine set_local_BT_cont_types(BT_cont, BTCL_u, BTCL_v, G, US, MS, BT_Domain
vBT_NN, vBT_SS, & ! Meridional velocities at which the form of the fit changes [L T-1 ~> m s-1]
FA_v_NN, FA_v_N0, FA_v_S0, FA_v_SS ! Meridional face areas [H L ~> m2 or kg m-1]
real :: dt ! The baroclinic timestep [T ~> s] or 1.0 [nondim]
real, parameter :: C1_3 = 1.0/3.0
real, parameter :: C1_3 = 1.0/3.0 ! [nondim]
integer :: i, j, is, ie, js, je, hs

is = G%isc ; ie = G%iec ; js = G%jsc ; je = G%jec
Expand Down Expand Up @@ -4107,7 +4107,7 @@ subroutine adjust_local_BT_cont_types(ubt, uhbt, vbt, vhbt, BTCL_u, BTCL_v, &

! Local variables
real :: dt ! The baroclinic timestep [T ~> s] or 1.0 [nondim]
real, parameter :: C1_3 = 1.0/3.0
real, parameter :: C1_3 = 1.0/3.0 ! [nondim]
integer :: i, j, is, ie, js, je, hs

is = G%isc ; ie = G%iec ; js = G%jsc ; je = G%jec
Expand Down
12 changes: 6 additions & 6 deletions src/core/MOM_dynamics_split_RK2.F90
Original file line number Diff line number Diff line change
Expand Up @@ -387,7 +387,7 @@ subroutine step_MOM_dyn_split_RK2(u, v, h, tv, visc, Time_local, dt, forces, p_s
v_av, & ! The meridional velocity time-averaged over a time step [L T-1 ~> m s-1].
h_av ! The layer thickness time-averaged over a time step [H ~> m or kg m-2].

real, dimension(SZI_(G),SZJ_(G)) :: hbl ! Boundary layer depth from Cvmix
real, dimension(SZI_(G),SZJ_(G)) :: hbl ! Boundary layer depth from Cvmix [H ~> m or kg m-2]
real :: dt_pred ! The time step for the predictor part of the baroclinic time stepping [T ~> s].
real :: Idt_bc ! Inverse of the baroclinic timestep [T-1 ~> s-1]
logical :: dyn_p_surf
Expand Down Expand Up @@ -1055,8 +1055,8 @@ subroutine step_MOM_dyn_split_RK2(u, v, h, tv, visc, Time_local, dt, forces, p_s
endif

if (CS%fpmix) then
if (CS%id_uold > 0) call post_data(CS%id_uold , uold, CS%diag)
if (CS%id_vold > 0) call post_data(CS%id_vold , vold, CS%diag)
if (CS%id_uold > 0) call post_data(CS%id_uold, uold, CS%diag)
if (CS%id_vold > 0) call post_data(CS%id_vold, vold, CS%diag)
endif

! The time-averaged free surface height has already been set by the last call to btstep.
Expand All @@ -1072,8 +1072,8 @@ subroutine step_MOM_dyn_split_RK2(u, v, h, tv, visc, Time_local, dt, forces, p_s
if (CS%id_CAv > 0) call post_data(CS%id_CAv, CS%CAv, CS%diag)

! Here the thickness fluxes are offered for time averaging.
if (CS%id_uh > 0) call post_data(CS%id_uh , uh, CS%diag)
if (CS%id_vh > 0) call post_data(CS%id_vh , vh, CS%diag)
if (CS%id_uh > 0) call post_data(CS%id_uh, uh, CS%diag)
if (CS%id_vh > 0) call post_data(CS%id_vh, vh, CS%diag)
if (CS%id_uav > 0) call post_data(CS%id_uav, u_av, CS%diag)
if (CS%id_vav > 0) call post_data(CS%id_vav, v_av, CS%diag)
if (CS%id_u_BT_accel > 0) call post_data(CS%id_u_BT_accel, CS%u_accel_bt, CS%diag)
Expand Down Expand Up @@ -1301,7 +1301,7 @@ subroutine initialize_dyn_split_RK2(u, v, h, uh, vh, eta, Time, G, GV, US, param
intent(inout) :: u !< zonal velocity [L T-1 ~> m s-1]
real, dimension(SZI_(G),SZJB_(G),SZK_(GV)), &
intent(inout) :: v !< merid velocity [L T-1 ~> m s-1]
real, dimension(SZI_(G),SZJ_(G),SZK_(GV)) , &
real, dimension(SZI_(G),SZJ_(G),SZK_(GV)), &
intent(inout) :: h !< layer thickness [H ~> m or kg m-2]
real, dimension(SZIB_(G),SZJ_(G),SZK_(GV)), &
target, intent(inout) :: uh !< zonal volume/mass transport [H L2 T-1 ~> m3 s-1 or kg s-1]
Expand Down
4 changes: 2 additions & 2 deletions src/core/MOM_forcing_type.F90
Original file line number Diff line number Diff line change
Expand Up @@ -2169,7 +2169,7 @@ subroutine forcing_accumulate(flux_tmp, forces, fluxes, G, wt2)
type(forcing), intent(inout) :: fluxes !< A structure containing time-averaged
!! thermodynamic forcing fields
type(ocean_grid_type), intent(inout) :: G !< The ocean's grid structure
real, intent(out) :: wt2 !< The relative weight of the new fluxes
real, intent(out) :: wt2 !< The relative weight of the new fluxes [nondim]

! This subroutine copies mechancal forcing from flux_tmp to fluxes and
! stores the time-weighted averages of the various buoyancy fluxes in fluxes,
Expand All @@ -2187,7 +2187,7 @@ subroutine fluxes_accumulate(flux_tmp, fluxes, G, wt2, forces)
type(forcing), intent(inout) :: fluxes !< A structure containing time-averaged
!! thermodynamic forcing fields
type(ocean_grid_type), intent(inout) :: G !< The ocean's grid structure
real, intent(out) :: wt2 !< The relative weight of the new fluxes
real, intent(out) :: wt2 !< The relative weight of the new fluxes [nondim]
type(mech_forcing), optional, intent(in) :: forces !< A structure with the driving mechanical forces

! This subroutine copies mechanical forcing from flux_tmp to fluxes and
Expand Down
16 changes: 10 additions & 6 deletions src/core/MOM_grid.F90
Original file line number Diff line number Diff line change
Expand Up @@ -136,14 +136,18 @@ module MOM_grid
IareaBu !< IareaBu = 1/areaBu [L-2 ~> m-2].

real, pointer, dimension(:) :: &
gridLatT => NULL(), & !< The latitude of T points for the purpose of labeling the output axes.
gridLatT => NULL(), & !< The latitude of T points for the purpose of labeling the output axes,
!! often in units of [degrees_N] or [km] or [m] or [gridpoints].
!! On many grids this is the same as geoLatT.
gridLatB => NULL() !< The latitude of B points for the purpose of labeling the output axes.
gridLatB => NULL() !< The latitude of B points for the purpose of labeling the output axes,
!! often in units of [degrees_N] or [km] or [m] or [gridpoints].
!! On many grids this is the same as geoLatBu.
real, pointer, dimension(:) :: &
gridLonT => NULL(), & !< The longitude of T points for the purpose of labeling the output axes.
gridLonT => NULL(), & !< The longitude of T points for the purpose of labeling the output axes,
!! often in units of [degrees_E] or [km] or [m] or [gridpoints].
!! On many grids this is the same as geoLonT.
gridLonB => NULL() !< The longitude of B points for the purpose of labeling the output axes.
gridLonB => NULL() !< The longitude of B points for the purpose of labeling the output axes,
!! often in units of [degrees_E] or [km] or [m] or [gridpoints].
!! On many grids this is the same as geoLonBu.
character(len=40) :: &
! Except on a Cartesian grid, these are usually some variant of "degrees".
Expand Down Expand Up @@ -187,8 +191,8 @@ module MOM_grid
! initialization routines (but not all)
real :: south_lat !< The latitude (or y-coordinate) of the first v-line [degrees_N] or [km] or [m]
real :: west_lon !< The longitude (or x-coordinate) of the first u-line [degrees_E] or [km] or [m]
real :: len_lat !< The latitudinal (or y-coord) extent of physical domain
real :: len_lon !< The longitudinal (or x-coord) extent of physical domain
real :: len_lat !< The latitudinal (or y-coord) extent of physical domain [degrees_N] or [km] or [m]
real :: len_lon !< The longitudinal (or x-coord) extent of physical domain [degrees_E] or [km] or [m]
real :: Rad_Earth !< The radius of the planet [m]
real :: Rad_Earth_L !< The radius of the planet in rescaled units [L ~> m]
real :: max_depth !< The maximum depth of the ocean in depth units [Z ~> m]
Expand Down
2 changes: 1 addition & 1 deletion src/core/MOM_interface_heights.F90
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ subroutine find_eta_3d(h, tv, G, GV, US, eta, eta_bt, halo_size, dZref)
real :: p(SZI_(G),SZJ_(G),SZK_(GV)+1) ! Hydrostatic pressure at each interface [R L2 T-2 ~> Pa]
real :: dz_geo(SZI_(G),SZJ_(G),SZK_(GV)) ! The change in geopotential height
! across a layer [L2 T-2 ~> m2 s-2].
real :: dilate(SZI_(G)) ! non-dimensional dilation factor
real :: dilate(SZI_(G)) ! A non-dimensional dilation factor [nondim]
real :: htot(SZI_(G)) ! total thickness [H ~> m or kg m-2]
real :: I_gEarth ! The inverse of the gravitational acceleration times the
! rescaling factor derived from eta_to_m [T2 Z L-2 ~> s2 m-1]
Expand Down
4 changes: 2 additions & 2 deletions src/parameterizations/lateral/MOM_mixed_layer_restrat.F90
Original file line number Diff line number Diff line change
Expand Up @@ -837,7 +837,7 @@ subroutine mixedlayer_restrat_Bodner(CS, G, GV, US, h, uhtr, vhtr, tv, forces, d
real :: muza ! mu(z) at top of the layer [nondim]
real :: dh ! Portion of the layer thickness that is in the mixed layer [H ~> m or kg m-2]
real :: res_scaling_fac ! The resolution-dependent scaling factor [nondim]
real, parameter :: two_thirds = 2./3.
real, parameter :: two_thirds = 2./3. ! [nondim]
logical :: line_is_empty, keep_going
integer, dimension(2) :: EOSdom ! The i-computational domain for the equation of state
integer :: i, j, k, is, ie, js, je, Isq, Ieq, Jsq, Jeq, nz
Expand Down Expand Up @@ -1156,7 +1156,7 @@ real elemental function rmean2ts(signal, filtered, tau_growing, tau_decaying, dt
real, intent(in) :: tau_decaying ! Time scale for decaying signal [T ~> s]
real, intent(in) :: dt ! Time step [T ~> s]
! Local variables
real :: afac, bfac ! Non-dimensional weights
real :: afac, bfac ! Non-dimensional fractional weights [nondim]
real :: rt ! Reciprocal time scale [T-1 ~> s-1]

if (signal>=filtered) then
Expand Down
4 changes: 2 additions & 2 deletions src/parameterizations/lateral/MOM_thickness_diffuse.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1671,11 +1671,11 @@ subroutine add_detangling_Kh(h, e, Kh_u, Kh_v, KH_u_CFL, KH_v_CFL, tv, dt, G, GV
real, dimension(SZIB_(G),SZJ_(G),SZK_(GV)+1), intent(inout) :: int_slope_u !< Ratio that determine how much of
!! the isopycnal slopes are taken directly from
!! the interface slopes without consideration
!! of density gradients.
!! of density gradients [nondim].
real, dimension(SZI_(G),SZJB_(G),SZK_(GV)+1), intent(inout) :: int_slope_v !< Ratio that determine how much of
!! the isopycnal slopes are taken directly from
!! the interface slopes without consideration
!! of density gradients.
!! of density gradients [nondim].
! Local variables
real, dimension(SZI_(G),SZJ_(G),SZK_(GV)) :: &
de_top ! The distances between the top of a layer and the top of the
Expand Down
2 changes: 1 addition & 1 deletion src/parameterizations/lateral/MOM_tidal_forcing.F90
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ subroutine tidal_forcing_init(Time, G, US, param_file, CS)
character(len=40) :: mdl = "MOM_tidal_forcing" ! This module's name.
character(len=128) :: mesg
character(len=200) :: tidal_input_files(4*MAX_CONSTITUENTS)
real :: tide_sal_scalar_value
real :: tide_sal_scalar_value ! The constant of proportionality with the scalar approximation to SAL [nondim]
integer :: i, j, c, is, ie, js, je, isd, ied, jsd, jed, nc

is = G%isc ; ie = G%iec ; js = G%jsc ; je = G%jec
Expand Down
2 changes: 1 addition & 1 deletion src/parameterizations/vertical/MOM_energetic_PBL.F90
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ module MOM_energetic_PBL

!/ mstar_scheme == 0
real :: fixed_mstar !< Mstar is the ratio of the friction velocity cubed to the TKE available to
!! drive entrainment, nondimensional. This quantity is the vertically
!! drive entrainment [nondim]. This quantity is the vertically
!! integrated shear production minus the vertically integrated
!! dissipation of TKE produced by shear. This value is used if the option
!! for using a fixed mstar is used.
Expand Down
4 changes: 2 additions & 2 deletions src/parameterizations/vertical/MOM_opacity.F90
Original file line number Diff line number Diff line change
Expand Up @@ -422,7 +422,7 @@ function opacity_morel(chl_data)
!> This sets the penetrating shortwave fraction according to the scheme proposed by
!! Morel and Antoine (1994).
function SW_pen_frac_morel(chl_data)
real, intent(in) :: chl_data !< The chlorophyll-A concentration in mg m-3.
real, intent(in) :: chl_data !< The chlorophyll-A concentration [mg m-3]
real :: SW_pen_frac_morel !< The returned penetrating shortwave fraction [nondim]

! The following are coefficients for the optical model taken from Morel and
Expand Down Expand Up @@ -608,7 +608,7 @@ subroutine absorbRemainingSW(G, GV, US, h, opacity_band, nsw, optics, j, dt, H_l
real :: SW_trans ! fraction of shortwave radiation that is not
! absorbed in a layer [nondim]
real :: unabsorbed ! fraction of the shortwave radiation that
! is not absorbed because the layers are too thin
! is not absorbed because the layers are too thin [nondim]
real :: Ih_limit ! inverse of the total depth at which the
! surface fluxes start to be limited [H-1 ~> m-1 or m2 kg-1]
real :: h_min_heat ! minimum thickness layer that should get heated [H ~> m or kg m-2]
Expand Down
2 changes: 1 addition & 1 deletion src/tracer/MOM_CFC_cap.F90
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,7 @@ subroutine CFC_cap_column_physics(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, C

! Local variables
real, dimension(SZI_(G),SZJ_(G),SZK_(GV)) :: h_work ! Used so that h can be modified [H ~> m or kg m-2]
real :: flux_scale
real :: flux_scale ! A dimensional rescaling factor for fluxes [H R-1 Z-1 ~> m3 kg-1 or nondim]
integer :: i, j, k, is, ie, js, je, nz, m

is = G%isc ; ie = G%iec ; js = G%jsc ; je = G%jec ; nz = GV%ke
Expand Down
4 changes: 2 additions & 2 deletions src/tracer/MOM_tracer_diabatic.F90
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ subroutine tracer_vertdiff(h_old, ea, eb, dt, tr, G, GV, &
btm_src !< The time-integrated bottom source of the tracer [CU H ~> CU m or CU kg m-2].
real, dimension(SZI_(G)) :: &
b1, & !< b1 is used by the tridiagonal solver [H-1 ~> m-1 or m2 kg-1].
d1 !! d1=1-c1 is used by the tridiagonal solver, nondimensional.
d1 !! d1=1-c1 is used by the tridiagonal solver [nondim].
real :: c1(SZI_(G),SZK_(GV)) !< c1 is used by the tridiagonal solver [nondim].
real :: h_minus_dsink(SZI_(G),SZK_(GV)) !< The layer thickness minus the
!! difference in sinking rates across the layer [H ~> m or kg m-2].
Expand Down Expand Up @@ -253,7 +253,7 @@ subroutine tracer_vertdiff_Eulerian(h_old, ent, dt, tr, G, GV, &
btm_src !< The time-integrated bottom source of the tracer [CU H ~> CU m or CU kg m-2].
real, dimension(SZI_(G)) :: &
b1, & !< b1 is used by the tridiagonal solver [H-1 ~> m-1 or m2 kg-1].
d1 !! d1=1-c1 is used by the tridiagonal solver, nondimensional.
d1 !! d1=1-c1 is used by the tridiagonal solver [nondim].
real :: c1(SZI_(G),SZK_(GV)) !< c1 is used by the tridiagonal solver [nondim].
real :: h_minus_dsink(SZI_(G),SZK_(GV)) !< The layer thickness minus the
!! difference in sinking rates across the layer [H ~> m or kg m-2].
Expand Down
2 changes: 1 addition & 1 deletion src/tracer/dyed_obc_tracer.F90
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ subroutine dyed_obc_tracer_column_physics(h_old, h_new, ea, eb, fluxes, dt, G,
!! fluxes can be applied [H ~> m or kg m-2]

! Local variables
real, dimension(SZI_(G),SZJ_(G),SZK_(GV)) :: h_work ! Used so that h can be modified
real, dimension(SZI_(G),SZJ_(G),SZK_(GV)) :: h_work ! Used so that h can be modified [H ~> m or kg m-2]
integer :: i, j, k, is, ie, js, je, nz, m
is = G%isc ; ie = G%iec ; js = G%jsc ; je = G%jec ; nz = GV%ke

Expand Down
14 changes: 7 additions & 7 deletions src/tracer/oil_tracer.F90
Original file line number Diff line number Diff line change
Expand Up @@ -42,18 +42,18 @@ module oil_tracer
character(len=200) :: IC_file !< The file in which the age-tracer initial values
!! can be found, or an empty string for internal initialization.
logical :: Z_IC_file !< If true, the IC_file is in Z-space. The default is false.
real :: oil_source_longitude !< Latitude of source location (geographic)
real :: oil_source_latitude !< Longitude of source location (geographic)
integer :: oil_source_i=-999 !< Local i of source location (computational)
integer :: oil_source_j=-999 !< Local j of source location (computational)
real :: oil_source_longitude !< Latitude of source location (geographic) [degrees_N]
real :: oil_source_latitude !< Longitude of source location (geographic) [degrees_E]
integer :: oil_source_i=-999 !< Local i of source location (computational index location)
integer :: oil_source_j=-999 !< Local j of source location (computational index location)
real :: oil_source_rate !< Rate of oil injection [kg T-1 ~> kg s-1]
real :: oil_start_year !< The time at which the oil source starts [years]
real :: oil_end_year !< The time at which the oil source ends [years]
type(time_type), pointer :: Time => NULL() !< A pointer to the ocean model's clock.
type(tracer_registry_type), pointer :: tr_Reg => NULL() !< A pointer to the MOM tracer registry
real, pointer :: tr(:,:,:,:) => NULL() !< The array of tracers used in this subroutine, in g m-3?
real, dimension(NTR_MAX) :: IC_val = 0.0 !< The (uniform) initial condition value.
real, dimension(NTR_MAX) :: land_val = -1.0 !< The value of tr used where land is masked out.
real, pointer :: tr(:,:,:,:) => NULL() !< The array of tracers used in this subroutine, [kg m-3]
real, dimension(NTR_MAX) :: IC_val = 0.0 !< The (uniform) initial condition value [kg m-3]
real, dimension(NTR_MAX) :: land_val = -1.0 !< The value of tr used where land is masked out [kg m-3]
real, dimension(NTR_MAX) :: oil_decay_rate !< Decay rate of oil [T-1 ~> s-1] calculated from oil_decay_days
integer, dimension(NTR_MAX) :: oil_source_k !< Layer of source
logical :: oil_may_reinit !< If true, oil tracers may be reset by the initialization code
Expand Down