Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
335 commits
Select commit Hold shift + click to select a range
b27ecc8
Restored original order of bounding/scaling viscosity
adcroft Jun 25, 2018
3b5657b
(*)Fixes implementation of minimum viscosity
adcroft Jun 25, 2018
5e9164d
Adding options to DOME2d and circle_obcs.
kshedstrom Jun 26, 2018
0f91aa2
Merge branch 'dev/esmg' into cleaning
kshedstrom Jun 26, 2018
5a71941
+Added Kv_shear_Bu to vertvisc_type
Hallberg-NOAA Jun 26, 2018
5edcd54
Add visc%Kv_shear_Bu to viscosity
Hallberg-NOAA Jun 26, 2018
b49a602
+Added Calc_kappa_shear_vertex and VERTEX_SHEAR
Hallberg-NOAA Jun 26, 2018
b8e4321
+Added call to Calc_kappa_shear_vertex
Hallberg-NOAA Jun 26, 2018
8a57f0b
Merge branch 'dev/gfdl' into vertex_shearmix
Hallberg-NOAA Jun 26, 2018
0cde92a
Added turbulence halo update during initialization
Hallberg-NOAA Jun 26, 2018
e6e32c7
Merge pull request #799 from adcroft/aniso-hor-visc
Hallberg-NOAA Jun 26, 2018
8f7c351
Merge branch 'bugfix-minimum-visc' of https://github.com/adcroft/MOM6…
Hallberg-NOAA Jun 26, 2018
9e7847f
Merge branch 'adcroft-bugfix-minimum-visc' into dev/gfdl
Hallberg-NOAA Jun 26, 2018
8203564
Corrected register_restart_field call for Kv_shear
Hallberg-NOAA Jun 26, 2018
43138e8
Fix an oops for circle_obcs
kshedstrom Jun 26, 2018
4475187
Merge pull request #801 from Hallberg-NOAA/vertex_shearmix
adcroft Jun 26, 2018
2519cfb
Testing an alternate guess for eta.
kshedstrom Jun 27, 2018
a4805af
Back to old estimate of eta.
kshedstrom Jun 27, 2018
4683afb
Merge branch 'dev/esmg' into cleaning
kshedstrom Jun 27, 2018
d43d0a4
Add tangential_vel to Kelvin wave.
kshedstrom Jun 29, 2018
1e0c6cc
Eliminate MOM_OCMIP2_CO2calc.F90
Hallberg-NOAA Jun 29, 2018
4fdbbb1
Fixed doxygen errors in MOM_domains.F90
adcroft Jul 2, 2018
ebaeab9
Fixed doxygen errors in MOM_checksums.F90
adcroft Jul 2, 2018
a7936ac
Line-wrapped comments in MOM_memory.h
adcroft Jul 2, 2018
3f8bc67
Corrected MOM_ice_shelf_dynamics doxygen
adcroft Jul 2, 2018
7fddbda
Fixed doxygen errors in boundary_impulse_tracer.F90
adcroft Jul 2, 2018
955ea3a
Fixed doxygen errors in src/ALE
adcroft Jul 2, 2018
930ed33
Fixed doxygen errors in MOM_barotropic.F90
adcroft Jul 2, 2018
11d30ff
Fixed doxygen errors in src/user/dense_water_initialization.F90
adcroft Jul 2, 2018
8183a21
Fixed doxygen errors in src/user
adcroft Jul 2, 2018
7649de9
Fixed doxygen errors in MOM_coms.F90
adcroft Jul 2, 2018
e9efb5a
Fixed doxygen errors in MOM_diag_remap.F90
adcroft Jul 2, 2018
1a0c42e
Fixed doxygen errors in MOM_safe_alloc.F90
adcroft Jul 2, 2018
b42f288
Fixed doxygen errors in midas_vertmap.F90
adcroft Jul 2, 2018
5a0bed7
Doxumented MOM_state_initialization.F90
adcroft Jul 2, 2018
6f27761
Fixed doxygen errors in MOM_tracer_initialization_from_Z.F90
adcroft Jul 2, 2018
dfbe393
Fixed doxygen errors in MOM_continuity_PPM.F90
adcroft Jul 2, 2018
f37c603
Doxumeted function in MOM_state_initialization.F90
adcroft Jul 2, 2018
555f442
Fixed doxygen errors in MOM_open_boundary.F90
adcroft Jul 2, 2018
479ae20
Fixed doxygen errors in MOM_diag_to_Z.F90
adcroft Jul 2, 2018
f3e4ebe
Corrected/updated documentation for solo_driver/MOM_surface_forcing.F90
adcroft Jul 2, 2018
34cbad3
Doxumented MOM_EOS_linear.F90
adcroft Jul 2, 2018
330c065
Fixed doxygen errors in MOM_set_viscosity.F90
adcroft Jul 2, 2018
e184526
Doxumented variable in MOM_neutral_diffusion.F90
adcroft Jul 2, 2018
545eadd
Corrected doxygen section label MOM_mixed_layer_restrat.F90
adcroft Jul 2, 2018
3edf53b
Fixed doxygen errors in MOM_KPP.F90
adcroft Jul 2, 2018
e732aaf
Cleaned up doxumentation for MOM_internal_tide_input
adcroft Jul 2, 2018
c060009
Fixed doxumentation for MOM_internal_tides.F90
adcroft Jul 2, 2018
a7e09a8
Fixed doxygen errors in MOM_diabatic_aux.F90
adcroft Jul 2, 2018
ce7ddcf
Fixed doxygen errors in MOM_entrain_diffusive.F90
adcroft Jul 2, 2018
ad9af7f
Corrected doxygen formatting in MOM_hor_visc.F90
adcroft Jul 2, 2018
7825d0f
Cleaned up doxumentation for adjustment_initialization.F90
adcroft Jul 2, 2018
bfcccea
Doxumented "mdl" in dense_water_initialization.F90
adcroft Jul 2, 2018
953d9a6
Doxumented the dubmbell test case
adcroft Jul 2, 2018
2f2e557
Doxygen: Set EXTRACT_ALL = NO
adcroft Jul 2, 2018
fa4b9c8
Fixed line length in doxumentation for MOM_memory_macros.h
adcroft Jul 2, 2018
4cd1fcb
Doxumented compound functions in MOM_checksums.F90
adcroft Jul 2, 2018
ecf22bd
Merge pull request #803 from Hallberg-NOAA/code_cleanup
adcroft Jul 2, 2018
b82873f
Merge pull request #804 from adcroft/more-doxy
Hallberg-NOAA Jul 3, 2018
f20ad2c
Merge branch 'gustavo-marques-update_KPP' into dev/master
adcroft Jul 5, 2018
ee3221e
Merge branch 'dev/master' into dev/gfdl
adcroft Jul 6, 2018
3b08368
+dOyxgenization of types in MOM_variables.F90
Hallberg-NOAA Jul 6, 2018
046b146
dOyxgenization of types in MOM.F90
Hallberg-NOAA Jul 6, 2018
0b72af4
dOyxgenization of types in MOM_coms.F90
Hallberg-NOAA Jul 6, 2018
7070f1b
dOyxgenization of types in MOM_diag_mediator.F90
Hallberg-NOAA Jul 6, 2018
2d35610
dOyxgenization of types in MOM_file_parser.F90
Hallberg-NOAA Jul 6, 2018
ae922de
dOyxgenization of types in MOM_document.F90
Hallberg-NOAA Jul 6, 2018
8a5f0ec
dOyxgenization of routines in MOM_domains.F90
Hallberg-NOAA Jul 6, 2018
192b6d1
dOyxgenization of types in MOM_dyn_horgrid.F90
Hallberg-NOAA Jul 6, 2018
187d88d
dOyxgenization of an interface in MOM_hor_index.F90
Hallberg-NOAA Jul 6, 2018
aca88c1
dOyxgenization of routines in MOM_io.F90
Hallberg-NOAA Jul 6, 2018
4c69f91
dOyxgenization of types in MOM_restart.F90
Hallberg-NOAA Jul 6, 2018
db4e939
dOyxgenization of types in MOM_write_cputime.F90
Hallberg-NOAA Jul 6, 2018
622b46f
dOyxgenization of routines in MOM_debugging.F90
Hallberg-NOAA Jul 6, 2018
76d765c
dOyxgenization of types in MOM_diag_to_Z.F90
Hallberg-NOAA Jul 6, 2018
cdade90
dOyxgenization of types in MOM_diagnostics.F90
Hallberg-NOAA Jul 6, 2018
4d889ff
dOyxgenization of types in MOM_sum_output.F90
Hallberg-NOAA Jul 6, 2018
5d38108
Oyxgenization of types in MOM_wave_structure.F90
Hallberg-NOAA Jul 6, 2018
54f4dd4
dOyxgenization of elements in MOM_CoriolisAdv.F90
Hallberg-NOAA Jul 6, 2018
d9fe7da
dOyxgenization of types in MOM_PressureForce code
Hallberg-NOAA Jul 6, 2018
309575e
dOyxgenization of types in MOM_barotropic.F90
Hallberg-NOAA Jul 6, 2018
e725ca5
dOyxgenization of types in MOM_forcing_type.F90
Hallberg-NOAA Jul 6, 2018
9ab765d
dOyxgenization of types in MOM_verticalGrid.F90
Hallberg-NOAA Jul 6, 2018
b911f0c
dOyxgenization of types in MOM_tidal_forcing.F90
Hallberg-NOAA Jul 6, 2018
b4488ea
dOyxgenization of types in MOM_internal_tides.F90
Hallberg-NOAA Jul 6, 2018
a54098d
dOyxgenization of type elements in MOM_MEKE.F90
Hallberg-NOAA Jul 6, 2018
3635f25
dOyxgenization of types in MOM_MEKE_types.F90
Hallberg-NOAA Jul 6, 2018
4a53669
dOyxgenization of type elements in MOM_grid.F90
Hallberg-NOAA Jul 6, 2018
0c714d6
Remove duplicate comments in MOM_spatial_means.F90
Hallberg-NOAA Jul 6, 2018
dd08bac
dOxyGenized a parameter in MOM_constants.F90
Hallberg-NOAA Jul 6, 2018
51d59e4
Removed unused variables in MOM_horizontal_regridding.F90
Hallberg-NOAA Jul 6, 2018
be97951
dOyxgenization of types in MOM_checksum_packages.F90
Hallberg-NOAA Jul 9, 2018
a356bd1
dOyxgenization of types in MOM_boundary_update.F90
Hallberg-NOAA Jul 9, 2018
f8b9fe9
dOyxgenization of types in MOM_dynamic_unsplit.F90
Hallberg-NOAA Jul 9, 2018
d1e57f1
dOyxgenization of types in MOM_dynamic_unsplit_RK2.F90
Hallberg-NOAA Jul 9, 2018
c3e377d
dOyxgenization of types in MOM_dynamic_split_RK2.F90
Hallberg-NOAA Jul 9, 2018
e4bbe99
Oyxgenization of types in MOM_open_boundary.F90
Hallberg-NOAA Jul 9, 2018
a3e4a92
dOyxgenization of types in MOM_Point_Accel.F90
Hallberg-NOAA Jul 9, 2018
56f6035
dOyxgenization of types in user_shelf_init.F90
Hallberg-NOAA Jul 9, 2018
5eb1d97
dOyxgenization of types in MOM_ice_shelf.F90
Hallberg-NOAA Jul 9, 2018
a04ceef
dOyxgenization of types in MOM_ice_shelf_dynamics.F90
Hallberg-NOAA Jul 9, 2018
a5987da
dOyxgenization of routines in ocean_model_MOM.F90
Hallberg-NOAA Jul 9, 2018
d520618
dOyxgenization of types in MOM_surface_forcing.F90
Hallberg-NOAA Jul 9, 2018
1913076
dOyxgenization of types in MESO_surface_forcing.F90
Hallberg-NOAA Jul 9, 2018
6f9fa42
dOyxgenization of types in user_surface_forcing.F90
Hallberg-NOAA Jul 9, 2018
cd7cb3d
dOyxgenization of types in DOME_tracer.F90
Hallberg-NOAA Jul 9, 2018
2c7b8d4
dOyxgenization of types in ISOMIP_tracer.F90
Hallberg-NOAA Jul 9, 2018
be3da23
dOyxgenization of types in MOM_OCMIP2_CFC.F90
Hallberg-NOAA Jul 9, 2018
aeedc1c
dOyxgenization of types in MOM_neutral_diffusion.F90
Hallberg-NOAA Jul 9, 2018
5875751
dOyxgenization of types in MOM_neutral_diffusion_aux.F90
Hallberg-NOAA Jul 9, 2018
1923cbc
dOyxgenization of types in MOM_offline_main.F90
Hallberg-NOAA Jul 9, 2018
ca25a16
dOyxgenization of types in MOM_tracer_advect.F90
Hallberg-NOAA Jul 9, 2018
dc52304
dOyxgenization of types in MOM_tracer_flow_control.F90
Hallberg-NOAA Jul 9, 2018
e4e7b2d
dOyxgenization of types in MOM_tracer_hor_diff.F90
Hallberg-NOAA Jul 9, 2018
179f976
dOyxgenization of type elements in MOM_tracer_registry.F90
Hallberg-NOAA Jul 9, 2018
9beef86
dOyxgenization of types in advection_test_tracer.F90
Hallberg-NOAA Jul 9, 2018
4ff867c
dOyxgenization of types in boundary_impulse_tracer.F90
Hallberg-NOAA Jul 9, 2018
dea05e1
dOyxgenization of types in dye_example.F90
Hallberg-NOAA Jul 9, 2018
d53ee89
dOyxgenization of types in ideal_age_example.F90
Hallberg-NOAA Jul 9, 2018
060f000
dOyxgenization of types in oil_tracer.F90
Hallberg-NOAA Jul 9, 2018
dca8669
dOyxgenization of types in pseudo_salt_tracer.F90
Hallberg-NOAA Jul 9, 2018
de4dddf
dOyxgenization of types in tracer_example.F90
Hallberg-NOAA Jul 9, 2018
2685a3c
dOyxgenization of types in dyed_obc_tracer.F90
Hallberg-NOAA Jul 9, 2018
4544629
Merge branch 'dev/gfdl' into fix_dOxyGen
Hallberg-NOAA Jul 9, 2018
4a94c55
Doxumented the interp_CS type in regrid_interp.F90
adcroft Jul 9, 2018
0c13985
Doxumented coord_adapt.F90
adcroft Jul 9, 2018
1bcd141
Removed unused parameters in regrid_consts.F90
adcroft Jul 9, 2018
c409c40
Doxumented variables in MOM_regridding.F90
adcroft Jul 9, 2018
fe0b05e
Doxumented BFB_surface_forcing.F90 and BFB_initialization.F90
adcroft Jul 9, 2018
6e42ac4
Fixed doxygen errors for dyed-channel and dyed-OBCs
adcroft Jul 9, 2018
3fc81dc
Fixed doxygen errors in ISOMIP_initialization.F90
adcroft Jul 9, 2018
ef8c390
Document mdl module variable in src/user cases
adcroft Jul 9, 2018
ca6f231
dOyxgenization of interfaces in MOM_TFreeze.F90
Hallberg-NOAA Jul 9, 2018
74247b6
dOyxgenization of interfaces in MOM_EOS_linear.F90
Hallberg-NOAA Jul 9, 2018
8115d20
dOyxgenization of interfaces in MOM_EOS_Wright.F90
Hallberg-NOAA Jul 9, 2018
e85be66
dOyxgenization of interfaces in MOM_EOS_UNESCO.F90
Hallberg-NOAA Jul 9, 2018
638213c
dOyxgenization of interfaces in MOM_EOS_TEOS10.F90
Hallberg-NOAA Jul 9, 2018
66d8c00
dOyxgenization of interfaces in MOM_EOS_NEMO.F90
Hallberg-NOAA Jul 9, 2018
3e83e5f
dOyxgenization of interfaces in MOM_EOS.F90
Hallberg-NOAA Jul 9, 2018
24a1fc7
Fixed doxygen errors in MOM_wave_interface.F90
adcroft Jul 9, 2018
07c9258
Doxeginized the user_initialization.F90 and user_revise_forcing.F90
adcroft Jul 9, 2018
7a10dfa
Fixed doxygen errors in user_change_diffusivity.F90
adcroft Jul 9, 2018
9e9d848
Fixed doxygen errors in MOM_controlled_forcing.F90
adcroft Jul 9, 2018
41dc81a
Merge branch 'doxy-ALE' of https://github.com/adcroft/MOM6 into fix_d…
Hallberg-NOAA Jul 9, 2018
9cdb079
Fixed doxygen errors in the MOM_CVmix_* files
adcroft Jul 9, 2018
5e059e7
Fixed doxygen errors in MOM_set_viscosity.F90
adcroft Jul 9, 2018
639ffd7
Doxygenized MOM_geothermal_heating control structure
adcroft Jul 9, 2018
7f33a84
Merge remote-tracking branch 'gfdl/dev/gfdl' into dev/esmg
kshedstrom Jul 9, 2018
61b5fef
Removed trailing space in MOM_EOS.F90
adcroft Jul 10, 2018
8abd0e1
dOyxgenization of types in MOM_bulk_mixed_layer.F90
Hallberg-NOAA Jul 10, 2018
d234252
dOyxgenization of types in MOM_ALE_sponge.F90
Hallberg-NOAA Jul 10, 2018
f999464
dOyxgenization of types in MOM_sponge.F90
Hallberg-NOAA Jul 10, 2018
795a57e
dOyxgenization of type elements in MOM_bkgnd_mixing.F90
Hallberg-NOAA Jul 10, 2018
f4e5f09
dOyxgenization of type elements in MOM_diabatic_aux.F90
Hallberg-NOAA Jul 10, 2018
9eaf8a3
Oyxgenization of type elements in MOM_diabatic_driver.F90
Hallberg-NOAA Jul 10, 2018
9fc8bb5
dOyxgenization of types in MOM_diapyc_energy_req.F90
Hallberg-NOAA Jul 10, 2018
55623c6
dOyxgenization of types in MOM_energetic_PBL.F90
Hallberg-NOAA Jul 10, 2018
a935d0d
dOyxgenization of types in MOM_internal_tide_input.F90
Hallberg-NOAA Jul 10, 2018
5286346
dOyxgenization of type elements in MOM_kappa_shear.F90
Hallberg-NOAA Jul 10, 2018
a58cb44
dOyxgenization of types in MOM_opacity.F90
Hallberg-NOAA Jul 10, 2018
dbc951a
dOyxgenization of types in MOM_regularize_layers.F90
Hallberg-NOAA Jul 10, 2018
4f2fae4
dOyxgenization of types in MOM_shortwave_abs.F90
Hallberg-NOAA Jul 10, 2018
746359a
dOyxgenization of types in MOM_tidal_mixing.F90
Hallberg-NOAA Jul 10, 2018
7a07e6e
dOyxgenization of types in MOM_entrain_diffusive.F90
Hallberg-NOAA Jul 10, 2018
e52ef10
Removed trailing white space in MOM_bulk_mixed_layer
Hallberg-NOAA Jul 10, 2018
4d68f2c
A different tack on reentrant OBC fix.
kshedstrom Jul 10, 2018
05017cb
dOyxgenization of type elements in MOM_oda_driver.F90
Hallberg-NOAA Jul 10, 2018
358ce51
Fixed doxygen errors in midas_vertmap.F90
adcroft Jul 10, 2018
f40093b
Fixed doxygen errors in MOM_coord_initialization.F90
adcroft Jul 10, 2018
b3161f5
Fixed doxygen errors in MOM_state_initialization.F90
adcroft Jul 10, 2018
6003174
Fixed doxygen errors in MOM_grid_initialize.F90
adcroft Jul 10, 2018
af88e4b
Corrected indents in MOM_oda_driver.F90
Hallberg-NOAA Jul 10, 2018
c3fe1b6
Merge branch 'Hallberg-NOAA-fix_dOxyGen' into dev/gfdl
adcroft Jul 10, 2018
39ff23b
Merge branch 'doxy-ALE' of https://github.com/adcroft/MOM6 into adcro…
adcroft Jul 10, 2018
b0fe9ad
Merge branch 'adcroft-doxy-ALE' into dev/gfdl
adcroft Jul 10, 2018
421ba76
Merge branch 'doxy-user' of https://github.com/adcroft/MOM6 into adcr…
adcroft Jul 10, 2018
0b9587a
Merge branch 'adcroft-doxy-user' into dev/gfdl
adcroft Jul 10, 2018
6ed99b6
Merge branch 'doxy-param-vert' of https://github.com/adcroft/MOM6 int…
adcroft Jul 10, 2018
87c4c60
dOyxgenization of types in MOM_set_diffusivity.F90
Hallberg-NOAA Jul 10, 2018
880d08a
Merge branch 'adcroft-doxy-param-vert' into dev/gfdl
adcroft Jul 10, 2018
1353915
Merge branch 'fix_dOxyGen2' of https://github.com/Hallberg-NOAA/MOM6 …
adcroft Jul 10, 2018
f0e0e92
Merge branch 'Hallberg-NOAA-fix_dOxyGen2' into dev/gfdl
adcroft Jul 10, 2018
2050d03
Merge branch 'fix_dOxyGen3' of https://github.com/Hallberg-NOAA/MOM6 …
adcroft Jul 10, 2018
5466600
Merge branch 'Hallberg-NOAA-fix_dOxyGen3' into dev/gfdl
adcroft Jul 10, 2018
79625e7
Merge branch 'doxy-fix-initial' of https://github.com/adcroft/MOM6 in…
adcroft Jul 10, 2018
8e550d7
Merge branch 'adcroft-doxy-fix-initial' into dev/gfdl
adcroft Jul 10, 2018
67d54e2
dOyxgenization of type elements in MOM_vert_friction.F90
Hallberg-NOAA Jul 10, 2018
036d706
dOyxgenization of type elements in MOM_hor_visc.F90
Hallberg-NOAA Jul 10, 2018
2d55746
dOyxgenization of types in MOM_internal_tides.F90
Hallberg-NOAA Jul 10, 2018
c61b736
dOyxgenization of types in solo/coupler_types.F90
Hallberg-NOAA Jul 10, 2018
009cc22
Fixed trailing white space in MOM_vert_friction
Hallberg-NOAA Jul 10, 2018
b4fa47c
Merge branch 'dev/gfdl' into fix_dOxyGen4
Hallberg-NOAA Jul 10, 2018
0442236
Added FMS_file_exists
Hallberg-NOAA Jul 10, 2018
a9f2cec
Removed quotes from verticalGrid_type description
Hallberg-NOAA Jul 10, 2018
d9d064d
Removed quotes from MOM_dyn_split_RK2_CS comments
Hallberg-NOAA Jul 10, 2018
f965d1a
Converted 1D arrays from ALLOCABLE_ to allocatable
Hallberg-NOAA Jul 10, 2018
8f99216
Merge pull request #813 from Hallberg-NOAA/fix_dOxyGen4
adcroft Jul 11, 2018
53497ce
Merge pull request #814 from Hallberg-NOAA/fix_dOxyGen5
adcroft Jul 11, 2018
56a6bee
Merge branch 'dev/esmg' of https://github.com/ESMG/MOM6 into ESMG-dev…
adcroft Jul 11, 2018
a929cae
Merge branch 'ESMG-dev/esmg' into dev/gfdl
adcroft Jul 11, 2018
010f103
Shortened doxygen titles
adcroft Jul 11, 2018
ec4fe6e
Fix CPP-related doxygen errors in MOM_barotropic.F90
adcroft Jul 11, 2018
922be4f
Merge pull request #816 from adcroft/more-final-doxy
Hallberg-NOAA Jul 11, 2018
59bb93a
Regenerated Doxygen configuration file with v1.8.15
adcroft Jul 11, 2018
0da8297
Module dOxyGenization for MOM_variables & vertGrid
Hallberg-NOAA Jul 11, 2018
c621b54
Module dOxyGenization for MOM
Hallberg-NOAA Jul 11, 2018
f3b818b
Module dOxyGenization for MOM_checksum_packages
Hallberg-NOAA Jul 11, 2018
0431fd7
Module dOxyGenization for MOM_dynamics_unsplit
Hallberg-NOAA Jul 11, 2018
de13a2c
Module dOxyGenization for MOM_transribe_grid
Hallberg-NOAA Jul 11, 2018
574af33
Adds module summary lines in src/ALE, src/user, src/parameterizations…
adcroft Jul 11, 2018
189d7d3
Corrected whitespace in circle_obcs
adcroft Jul 11, 2018
1f1c7c8
Module dOxyGenization for EOS code
Hallberg-NOAA Jul 11, 2018
4bd838e
Module dOxyGenization for tracer code
Hallberg-NOAA Jul 11, 2018
7c4d684
Module dOxyGenization for framework code
Hallberg-NOAA Jul 11, 2018
6519f25
Merge pull request #818 from adcroft/even-more-doxy
Hallberg-NOAA Jul 11, 2018
d4b4edc
Merge pull request #817 from Hallberg-NOAA/fix_dOxyGen6
adcroft Jul 12, 2018
4061b7a
Merge pull request #819 from Hallberg-NOAA/fix_dOxyGen7
adcroft Jul 12, 2018
f69cbf7
Doxygen config: only process ocean_model_MOM.F90 from coupled_driver
adcroft Jul 12, 2018
6478c01
Fixes for doxumentation using doxygen 1.8.4
adcroft Jul 12, 2018
f7be32d
Fixed documentation in MOM_debugging
adcroft Jul 12, 2018
82a8f79
Merge pull request #820 from adcroft/fix-doxy-1.8.4
Hallberg-NOAA Jul 12, 2018
0cdce08
Merge branch 'dev-master-candidate-2018-07-16' into merge-candidate-2…
gustavo-marques Jul 23, 2018
a840dc0
Pass melt potential (o2x_Fioo_q) via mct driver
gustavo-marques Jul 30, 2018
3cdd97b
Add option to calculate melt potential
gustavo-marques Jul 30, 2018
b52db1f
Allocate/deallocate melt_potential
gustavo-marques Jul 30, 2018
d981745
Fix a call to ocn_export
gustavo-marques Jul 30, 2018
60eb7ec
Add comment about icefrq used in Hycom
gustavo-marques Jul 30, 2018
4e5bf74
Change calculation of melt_potential
gustavo-marques Aug 1, 2018
7347ad9
Update calculation of melt_potential
gustavo-marques Aug 1, 2018
0a55527
Merge branch 'dev/ncar' into merge-candidate-2018-07-16
gustavo-marques Aug 1, 2018
05d6c80
Update melt_potential again, but values are still ~ 3 x smaller
gustavo-marques Aug 1, 2018
12011de
Merge pull request #76 from gustavo-marques/merge-candidate-2018-07-16
alperaltuntas Aug 3, 2018
be0e7a8
Remove dt from extract_surface_state
gustavo-marques Aug 3, 2018
eb2c69f
Replace units (W/m^2 to J/m^2) in the comments
gustavo-marques Aug 3, 2018
c6b2534
Pass melt/freeze potential to coupler; reset melt_potential
gustavo-marques Aug 3, 2018
d0bc3bc
Fix bug and make sure melt potential is always <= 0
gustavo-marques Aug 6, 2018
5d6ff16
Merge branch 'dev/ncar' into add_melt_potential_mct
gustavo-marques Aug 7, 2018
4a7de48
Merge pull request #77 from gustavo-marques/add_melt_potential_mct
alperaltuntas Aug 8, 2018
b7d83af
Merge pull request #73 from alperaltuntas/horiz_varying_background
gustavo-marques Aug 16, 2018
9c8b3c5
Comment DEBUG message
gustavo-marques Aug 29, 2018
f1445de
Add option to use melt potential in mct and couple_driver
gustavo-marques Aug 29, 2018
d3d8215
Add a new implementation for the melt potential calculation
gustavo-marques Aug 29, 2018
ddccc44
Copy OBLD to visc%MLD when using KPP
gustavo-marques Aug 29, 2018
d32386d
Allocates visc%MLD when hfreeze >= 0.0
gustavo-marques Aug 29, 2018
1ced255
Merge pull request #78 from gustavo-marques/update_melt_potential
alperaltuntas Sep 3, 2018
4050617
Add OBLD into MCT cap
gustavo-marques Sep 7, 2018
6ccd94c
Pass Hml, from ePBL or KPP, via a call to diabatic
gustavo-marques Sep 24, 2018
9f0676e
Copy Hml into sfc_state, so that caps can access it
gustavo-marques Sep 24, 2018
6f6f92a
Change melt potential from time accumulated to instantaneous
gustavo-marques Sep 26, 2018
bcb195a
Merge pull request #80 from gustavo-marques/pass_OBLD_caps
alperaltuntas Sep 26, 2018
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
141 changes: 66 additions & 75 deletions config_src/coupled_driver/MOM_surface_forcing.F90
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,6 @@ module MOM_surface_forcing
logical :: use_temperature ! If true, temp and saln used as state variables
real :: wind_stress_multiplier !< A multiplier applied to incoming wind stress (nondim).

! smg: remove when have A=B code reconciled
logical :: bulkmixedlayer ! If true, model based on bulk mixed layer code

real :: Rho0 ! Boussinesq reference density (kg/m^3)
real :: area_surf = -1.0 ! total ocean surface area (m^2)
real :: latent_heat_fusion ! latent heat of fusion (J/kg)
Expand Down Expand Up @@ -114,7 +111,7 @@ module MOM_surface_forcing
logical :: adjust_net_srestore_by_scaling ! adjust srestore w/o moving zero contour
logical :: adjust_net_fresh_water_to_zero ! adjust net surface fresh-water (w/ restoring) to zero
logical :: use_net_FW_adjustment_sign_bug ! use the wrong sign when adjusting net FW
logical :: adjust_net_fresh_water_by_scaling ! adjust net surface fresh-water w/o moving zero contour
logical :: adjust_net_fresh_water_by_scaling ! adjust net surface fresh-water w/o moving zero contour
logical :: mask_srestore_under_ice ! If true, use an ice mask defined by frazil
! criteria for salinity restoring.
real :: ice_salt_concentration ! salt concentration for sea ice (kg/kg)
Expand Down Expand Up @@ -203,8 +200,8 @@ subroutine convert_IOB_to_fluxes(IOB, fluxes, index_bounds, Time, G, CS, &
type(ice_ocean_boundary_type), &
target, intent(in) :: IOB !< An ice-ocean boundary type with fluxes to drive
!! the ocean in a coupled model
type(forcing), intent(inout) :: fluxes !< A structure containing pointers to
!! all possible mass, heat or salt flux forcing fields.
type(forcing), intent(inout) :: fluxes !< A structure containing pointers to all
!! possible mass, heat or salt flux forcing fields.
!! Unused fields have NULL ptrs.
integer, dimension(4), intent(in) :: index_bounds !< The i- and j- size of the arrays in IOB.
type(time_type), intent(in) :: Time !< The time of the fluxes, used for interpolating the
Expand Down Expand Up @@ -950,46 +947,41 @@ subroutine apply_force_adjustments(G, CS, Time, forces)

end subroutine apply_force_adjustments

!> Save any restart files associated with the surface forcing.
subroutine forcing_save_restart(CS, G, Time, directory, time_stamped, &
filename_suffix)
type(surface_forcing_CS), pointer :: CS
type(surface_forcing_CS), pointer :: CS !< A pointer to the control structure returned
!! by a previous call to surface_forcing_init
type(ocean_grid_type), intent(inout) :: G !< The ocean's grid structure
type(time_type), intent(in) :: Time
character(len=*), intent(in) :: directory
logical, optional, intent(in) :: time_stamped
character(len=*), optional, intent(in) :: filename_suffix
! Arguments: CS - A pointer to the control structure returned by a previous
! call to surface_forcing_init.
! (in) G - The ocean's grid structure.
! (in) Time - The model time at this call. This is needed for mpp_write calls.
! (in, opt) directory - An optional directory into which to write these restart files.
! (in, opt) time_stamped - If true, the restart file names include
! a unique time stamp. The default is false.
! (in, opt) filename_suffix - An optional suffix (e.g., a time-stamp) to append
! to the restart file names.
type(time_type), intent(in) :: Time !< The current model time
character(len=*), intent(in) :: directory !< The directory into which to write the
!! restart files
logical, optional, intent(in) :: time_stamped !< If true, the restart file names include
!! a unique time stamp. The default is false.
character(len=*), optional, intent(in) :: filename_suffix !< An optional suffix (e.g., a time-
!! stamp) to append to the restart file names.

if (.not.associated(CS)) return
if (.not.associated(CS%restart_CSp)) return
call save_restart(directory, Time, G, CS%restart_CSp, time_stamped)

end subroutine forcing_save_restart

!> Initialize the surface forcing, including setting parameters and allocating permanent memory.
subroutine surface_forcing_init(Time, G, param_file, diag, CS, restore_salt, restore_temp)
type(time_type), intent(in) :: Time
type(time_type), intent(in) :: Time !< The current model time
type(ocean_grid_type), intent(in) :: G !< The ocean's grid structure
type(param_file_type), intent(in) :: param_file !< A structure to parse for run-time parameters
type(diag_ctrl), target, intent(inout) :: diag
type(surface_forcing_CS), pointer :: CS
logical, optional, intent(in) :: restore_salt, restore_temp
! Arguments: Time - The current model time.
! (in) G - The ocean's grid structure.
! (in) param_file - A structure indicating the open file to parse for
! model parameter values.
! (in) diag - A structure that is used to regulate diagnostic output.
! (in/out) CS - A pointer that is set to point to the control structure
! for this module
! (in) restore_salt - If present and true, salinity restoring will be
! applied in this model.
type(diag_ctrl), target, intent(inout) :: diag !< A structure that is used to regulate
!! diagnostic output
type(surface_forcing_CS), pointer :: CS !< A pointer that is set to point to the control
!! structure for this module
logical, optional, intent(in) :: restore_salt !< If present and true surface salinity
!! restoring will be applied in this model.
logical, optional, intent(in) :: restore_temp !< If present and true surface temperature
!! restoring will be applied in this model.

! Local variables
real :: utide ! The RMS tidal velocity, in m s-1.
type(directories) :: dirs
logical :: new_sim, iceberg_flux_diags
Expand Down Expand Up @@ -1081,11 +1073,6 @@ subroutine surface_forcing_init(Time, G, param_file, diag, CS, restore_salt, res
"limited by max_p_surf instead of the full atmospheric \n"//&
"pressure.", default=.true.)

! smg: should get_param call should be removed when have A=B code reconciled.
! this param is used to distinguish how to diagnose surface heat content from water.
call get_param(param_file, mdl, "BULKMIXEDLAYER", CS%bulkmixedlayer, &
default=CS%use_temperature,do_not_log=.true.)

call get_param(param_file, mdl, "WIND_STAGGER", stagger, &
"A case-insensitive character string to indicate the \n"//&
"staggering of the input wind stress field. Valid \n"//&
Expand Down Expand Up @@ -1161,7 +1148,7 @@ subroutine surface_forcing_init(Time, G, param_file, diag, CS, restore_salt, res
"The name of the surface temperature variable to read from "//&
"SST_RESTORE_FILE for restoring sst.", &
default="temp")
! Convert CS%Flux_const from m day-1 to m s-1.
! Convert CS%Flux_const from m day-1 to m s-1.
CS%Flux_const = CS%Flux_const / 86400.0

call get_param(param_file, mdl, "MAX_DELTA_TRESTORE", CS%max_delta_trestore, &
Expand Down Expand Up @@ -1312,13 +1299,14 @@ subroutine surface_forcing_init(Time, G, param_file, diag, CS, restore_salt, res
call cpu_clock_end(id_clock_forcing)
end subroutine surface_forcing_init

!> Clean up and deallocate any memory associated with this module and its children.
subroutine surface_forcing_end(CS, fluxes)
type(surface_forcing_CS), pointer :: CS
type(forcing), optional, intent(inout) :: fluxes
! Arguments: CS - A pointer to the control structure returned by a previous
! call to surface_forcing_init, it will be deallocated here.
! (inout) fluxes - A structure containing pointers to any possible
! forcing fields. Unused fields have NULL ptrs.
type(surface_forcing_CS), pointer :: CS !< A pointer to the control structure returned by
!! a previous call to surface_forcing_init, it will
!! be deallocated here.
type(forcing), optional, intent(inout) :: fluxes !< A structure containing pointers to all
!! possible mass, heat or salt flux forcing fields.
!! If present, it will be deallocated here.

if (present(fluxes)) call deallocate_forcing_type(fluxes)

Expand All @@ -1329,40 +1317,43 @@ subroutine surface_forcing_end(CS, fluxes)

end subroutine surface_forcing_end

!> Write out a set of messages with checksums of the fields in an ice_ocen_boundary type
subroutine ice_ocn_bnd_type_chksum(id, timestep, iobt)

character(len=*), intent(in) :: id
integer , intent(in) :: timestep
type(ice_ocean_boundary_type), intent(in) :: iobt
integer :: n,m, outunit

outunit = stdout()

write(outunit,*) "BEGIN CHECKSUM(ice_ocean_boundary_type):: ", id, timestep
write(outunit,100) 'iobt%u_flux ', mpp_chksum( iobt%u_flux )
write(outunit,100) 'iobt%v_flux ', mpp_chksum( iobt%v_flux )
write(outunit,100) 'iobt%t_flux ', mpp_chksum( iobt%t_flux )
write(outunit,100) 'iobt%q_flux ', mpp_chksum( iobt%q_flux )
write(outunit,100) 'iobt%salt_flux ', mpp_chksum( iobt%salt_flux )
write(outunit,100) 'iobt%lw_flux ', mpp_chksum( iobt%lw_flux )
write(outunit,100) 'iobt%sw_flux_vis_dir', mpp_chksum( iobt%sw_flux_vis_dir)
write(outunit,100) 'iobt%sw_flux_vis_dif', mpp_chksum( iobt%sw_flux_vis_dif)
write(outunit,100) 'iobt%sw_flux_nir_dir', mpp_chksum( iobt%sw_flux_nir_dir)
write(outunit,100) 'iobt%sw_flux_nir_dif', mpp_chksum( iobt%sw_flux_nir_dif)
write(outunit,100) 'iobt%lprec ', mpp_chksum( iobt%lprec )
write(outunit,100) 'iobt%fprec ', mpp_chksum( iobt%fprec )
write(outunit,100) 'iobt%runoff ', mpp_chksum( iobt%runoff )
write(outunit,100) 'iobt%calving ', mpp_chksum( iobt%calving )
write(outunit,100) 'iobt%p ', mpp_chksum( iobt%p )
if (associated(iobt%ustar_berg)) &
write(outunit,100) 'iobt%ustar_berg ', mpp_chksum( iobt%ustar_berg )
if (associated(iobt%area_berg)) &
write(outunit,100) 'iobt%area_berg ', mpp_chksum( iobt%area_berg )
if (associated(iobt%mass_berg)) &
write(outunit,100) 'iobt%mass_berg ', mpp_chksum( iobt%mass_berg )
character(len=*), intent(in) :: id !< An identifying string for this call
integer, intent(in) :: timestep !< The number of elapsed timesteps
type(ice_ocean_boundary_type), &
intent(in) :: iobt !< An ice-ocean boundary type with fluxes to drive the
!! ocean in a coupled model whose checksums are reported
integer :: n,m, outunit

outunit = stdout()

write(outunit,*) "BEGIN CHECKSUM(ice_ocean_boundary_type):: ", id, timestep
write(outunit,100) 'iobt%u_flux ', mpp_chksum( iobt%u_flux )
write(outunit,100) 'iobt%v_flux ', mpp_chksum( iobt%v_flux )
write(outunit,100) 'iobt%t_flux ', mpp_chksum( iobt%t_flux )
write(outunit,100) 'iobt%q_flux ', mpp_chksum( iobt%q_flux )
write(outunit,100) 'iobt%salt_flux ', mpp_chksum( iobt%salt_flux )
write(outunit,100) 'iobt%lw_flux ', mpp_chksum( iobt%lw_flux )
write(outunit,100) 'iobt%sw_flux_vis_dir', mpp_chksum( iobt%sw_flux_vis_dir)
write(outunit,100) 'iobt%sw_flux_vis_dif', mpp_chksum( iobt%sw_flux_vis_dif)
write(outunit,100) 'iobt%sw_flux_nir_dir', mpp_chksum( iobt%sw_flux_nir_dir)
write(outunit,100) 'iobt%sw_flux_nir_dif', mpp_chksum( iobt%sw_flux_nir_dif)
write(outunit,100) 'iobt%lprec ', mpp_chksum( iobt%lprec )
write(outunit,100) 'iobt%fprec ', mpp_chksum( iobt%fprec )
write(outunit,100) 'iobt%runoff ', mpp_chksum( iobt%runoff )
write(outunit,100) 'iobt%calving ', mpp_chksum( iobt%calving )
write(outunit,100) 'iobt%p ', mpp_chksum( iobt%p )
if (associated(iobt%ustar_berg)) &
write(outunit,100) 'iobt%ustar_berg ', mpp_chksum( iobt%ustar_berg )
if (associated(iobt%area_berg)) &
write(outunit,100) 'iobt%area_berg ', mpp_chksum( iobt%area_berg )
if (associated(iobt%mass_berg)) &
write(outunit,100) 'iobt%mass_berg ', mpp_chksum( iobt%mass_berg )
100 FORMAT(" CHECKSUM::",A20," = ",Z20)

call coupler_type_write_chksums(iobt%fluxes, outunit, 'iobt%')
call coupler_type_write_chksums(iobt%fluxes, outunit, 'iobt%')

end subroutine ice_ocn_bnd_type_chksum

Expand Down
61 changes: 27 additions & 34 deletions config_src/coupled_driver/coupler_util.F90
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
!> Provides a couple of interfaces to allow more transparent and
!! robust extraction of the various fields in the coupler types.
module coupler_util

! This file is part of MOM6. See LICENSE.md for the license.

! This code provides a couple of interfaces to allow more transparent and
! robust extraction of the various fields in the coupler types.
use MOM_error_handler, only : MOM_error, FATAL, WARNING
use coupler_types_mod, only : coupler_2d_bc_type, ind_flux, ind_alpha
use coupler_types_mod, only : ind_csurf
Expand All @@ -15,24 +15,20 @@ module coupler_util

contains

!> Extract an array of values in a coupler bc type
subroutine extract_coupler_values(BC_struc, BC_index, BC_element, array_out, &
is, ie, js, je, conversion)
type(coupler_2d_bc_type), intent(in) :: BC_struc
integer, intent(in) :: BC_index, BC_element
real, dimension(:,:), intent(out) :: array_out
integer, optional, intent(in) :: is, ie, js, je
real, optional, intent(in) :: conversion
! Arguments: BC_struc - The type from which the data is being extracted.
! (in) BC_index - The boundary condition number being extracted.
! (in) BC_element - The element of the boundary condition being extracted.
! This could be ind_csurf, ind_alpha, ind_flux or ind_deposition.
! (out) array_out - The array being filled with the input values.
! (in, opt) is, ie, js, je - The i- and j- limits of array_out to be filled.
! These must match the size of the corresponding value array or an
! error message is issued.
! (in, opt) conversion - A number that every element is multiplied by, to
! permit sign convention or unit conversion.

type(coupler_2d_bc_type), intent(in) :: BC_struc !< The type from which the data is being extracted.
integer, intent(in) :: BC_index !< The boundary condition number being extracted.
integer, intent(in) :: BC_element !< The element of the boundary condition being extracted.
real, dimension(:,:), intent(out) :: array_out !< The array being filled with the input values.
integer, optional, intent(in) :: is !< Start i-index
integer, optional, intent(in) :: ie !< End i-index
integer, optional, intent(in) :: js !< Start j-index
integer, optional, intent(in) :: je !< End j-index
real, optional, intent(in) :: conversion !< A number that every element is multiplied by, to
!! permit sign convention or unit conversion.
! Local variables
real, pointer, dimension(:,:) :: Array_in
real :: conv
integer :: i, j, is0, ie0, js0, je0, i_offset, j_offset
Expand Down Expand Up @@ -78,24 +74,21 @@ subroutine extract_coupler_values(BC_struc, BC_index, BC_element, array_out, &

end subroutine extract_coupler_values

!> Set an array of values in a coupler bc type
subroutine set_coupler_values(array_in, BC_struc, BC_index, BC_element, &
is, ie, js, je, conversion)
real, dimension(:,:), intent(in) :: array_in
type(coupler_2d_bc_type), intent(inout) :: BC_struc
integer, intent(in) :: BC_index, BC_element
integer, optional, intent(in) :: is, ie, js, je
real, optional, intent(in) :: conversion
! Arguments: array_in - The array containing the values to load into the BC.
! (out) BC_struc - The type into which the data is being loaded.
! (in) BC_index - The boundary condition number being extracted.
! (in) BC_element - The element of the boundary condition being extracted.
! This could be ind_csurf, ind_alpha, ind_flux or ind_deposition.
! (in, opt) is, ie, js, je - The i- and j- limits of array_out to be filled.
! These must match the size of the corresponding value array or an
! error message is issued.
! (in, opt) conversion - A number that every element is multiplied by, to
! permit sign convention or unit conversion.

real, dimension(:,:), intent(in) :: array_in !< The array containing the values to load into the BC.
type(coupler_2d_bc_type), intent(inout) :: BC_struc !< The type from which the data is being extracted.
integer, intent(in) :: BC_index !< The boundary condition number being extracted.
integer, intent(in) :: BC_element !< The element of the boundary condition being extracted.
!! This could be ind_csurf, ind_alpha, ind_flux or ind_deposition.
integer, optional, intent(in) :: is !< Start i-index
integer, optional, intent(in) :: ie !< End i-index
integer, optional, intent(in) :: js !< Start j-index
integer, optional, intent(in) :: je !< End j-index
real, optional, intent(in) :: conversion !< A number that every element is multiplied by, to
!! permit sign convention or unit conversion.
! Local variables
real, pointer, dimension(:,:) :: Array_out
real :: conv
integer :: i, j, is0, ie0, js0, je0, i_offset, j_offset
Expand Down
Loading