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

User/jml/operation fms2 the reckoning #1033

Closed
wants to merge 5,474 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
5474 commits
Select commit Hold shift + click to select a range
d707d27
removed a rogue 'vd%' from the 't_grid_str' definition in write_initi…
Jul 31, 2019
f9b5a7f
Merge pull request #26 from NOAA-GFDL/dev/gfdl
wrongkindofdoctor Aug 12, 2019
90d230e
Merge branch 'dev/gfdl' into user/jml/operation_fms2_the_reckoning
Aug 12, 2019
e4404a6
added call to mpp_define_io_domain in initialize_ocean_public_type to…
Aug 19, 2019
50d9a00
added calls to mpp_get_io_domain_layout and mpp_define_io_domain in i…
Aug 21, 2019
84e7491
added calls to new new fms-io read routines for the ice shelf input f…
Aug 21, 2019
22c5865
Merge pull request #27 from NOAA-GFDL/dev/gfdl
wrongkindofdoctor Aug 28, 2019
b50d8b7
fixed merge conflict with new file_exists call that does not require …
Aug 28, 2019
e160211
replaced calls to fms2-io file_exists, read, open, close with wrapper…
Aug 28, 2019
ae73487
replaced the reference to mpp_read_data with old_read_data so that th…
Aug 28, 2019
f251f90
changed all of the pointers and calls to the mpp_open and mpp_close t…
Aug 28, 2019
de7f048
removed MOM_register_variable_attribute wrapper for new fms routine, …
Aug 28, 2019
9a373cf
made the attribute_exists, variable_exists, dimension_exists calls pu…
Aug 28, 2019
b73e1b9
added argument G to write_vertgrid_file calls to enable passing the m…
Aug 28, 2019
25b16c3
made the *_exists calls public, removed the MOM_write_data interface …
Aug 28, 2019
fe50182
fixed compile-time issues, removed the query_vardesc call since the v…
Aug 28, 2019
e041db6
removed unused local variables
Aug 28, 2019
e0f0061
started adding new IO routines to write_ocean_geometry_file
Aug 28, 2019
f646bce
removed 'fms_' from rest of new io routine names to eliminate the poi…
Aug 29, 2019
fa4fe1d
removed unused string variable definitions, added deallocate statment…
Aug 29, 2019
358feb2
added a routine for the dyn_horgrid data type structure G to the MOM_…
Aug 29, 2019
c0a6d52
fixed the domain argument in the dyn_horgrid open file routine
Aug 29, 2019
163b03a
added the fileobjwrite argument to the write_data calls
Aug 29, 2019
c8f256d
removed unused variable
Aug 29, 2019
83acee9
replaced the energy diagnostics create_file and reopen_file calls wit…
Aug 29, 2019
df88d2b
add dim_names declaration, redefined the time_vals argument as an array
Aug 29, 2019
3471711
added routine for non-domain-decomposed files to 'MOM_open_file' inte…
Aug 29, 2019
c1bcbf1
removed the G argument from MOM_initialize_coord and write_vertgrid_f…
Aug 29, 2019
1e2f16f
added type FmsNetcdfFile_t for non-domain-decomposed files
Aug 29, 2019
787c797
added type FmsNetcdfFile_t for non-domain-decomposed files
Aug 29, 2019
d0fc37d
removed G argument from MOM_initialize_coord call since the routine n…
Aug 29, 2019
eb51ae5
modified write_vertgrid_file to use the fms io interfaces for writing…
Aug 29, 2019
5ba115f
working out issues with defining the index values to use for reading …
Aug 29, 2019
115c1f7
added calls to more new fms-io routines
Aug 30, 2019
5ce4ad1
added some temporary routines to query the axis and variable dimesion…
Aug 30, 2019
e6843f2
re-defined the corner and edge_lengths arguments for read_data, but s…
Aug 30, 2019
008b04b
added optional position argument to the MOM_register_axis_DD routine
Sep 3, 2019
0bec8d4
removed debugging statements, added calls to register nxp,nyp,nx,ny a…
Sep 3, 2019
46754c8
testing hacky crap to deal with symmetric indexing into a temp array …
Sep 4, 2019
202b4fb
added routine to MOM_read_data interface to read unstructured grid, a…
Sep 5, 2019
69a429a
added support for unstructured grid I/O. grid_initialize contains cal…
Sep 5, 2019
ccd4818
removed unused calls, swapped unstructured grid stuff out of MOM_grid…
Sep 6, 2019
4d17565
replaced the MOM_read_data calls for x and y into tmpGlbl with read_d…
Sep 13, 2019
a56f210
minor cleanup
Sep 13, 2019
9646eac
removed unstructured write routine, added support to overwrite netcdf…
Sep 16, 2019
73bd36e
removed logical variables axis_exists and variable_exists, and replac…
Sep 16, 2019
00443f3
added calls to check_if_open to avoid multiple pes reopening and clos…
Sep 16, 2019
67043e1
removed extraneous check to write if file exists in the overwrite case
Sep 16, 2019
bc1561f
removed unneeded calls from MOM_ALE and MOM_restart; added checks tha…
Sep 16, 2019
39bfb35
Fixed the logic and moved the register and write statements after the…
Sep 17, 2019
88f234d
added corner and edge_length indices to the call to write the time da…
Sep 18, 2019
3808ab4
Added call to get_time for the initialization time structure to get t…
Sep 19, 2019
0e5016f
trying to fix position of is_root_pe logic, since using it to write t…
Sep 19, 2019
3ec0694
fixed the issue with simultaneous writes by adding checks that the fi…
Sep 23, 2019
f6760bb
changed the mom_restart to overwrite restart file if it already exist…
Sep 23, 2019
15c8aa1
added interface routines to assign 0d,1d, 2d pointers to output array…
Sep 24, 2019
bdd50fc
rearranged the write calls, changed the size of the axis_CS data arra…
Sep 25, 2019
2ed8f17
added a start attribute to the data_array type to hold the netcdf sta…
Sep 25, 2019
5b2852c
Merge pull request #28 from NOAA-GFDL/dev/gfdl
wrongkindofdoctor Sep 26, 2019
af78d1f
merged in dev/gfdl updates
Sep 26, 2019
dd0a0cc
added unlimited and get_variable_unlimited_dimension_index to public …
Sep 26, 2019
6e1ba82
added get_variable_unlimited_dimension_index routine
Sep 26, 2019
79eac65
cleaned up unused code, removed the start attribute from data_struct …
Sep 26, 2019
7add72b
removed commented-out calls to old write routines, and unused code mods
Sep 27, 2019
c2b1964
Merge pull request #29 from NOAA-GFDL/dev/gfdl
wrongkindofdoctor Oct 2, 2019
a5386da
Merge pull request #30 from NOAA-GFDL/dev/gfdl
wrongkindofdoctor Oct 2, 2019
af7c64e
cleaned up debugging statements, changed the fms2_read_data calls bac…
Oct 2, 2019
ce168ff
cleaned up commented-out code and debugging statements
Oct 2, 2019
1d666bf
added position arguments to MOM_register_axis calls in the IC and res…
Oct 2, 2019
b35d5af
reformatted get_horizontal_grid_position to return 2 different values…
Oct 2, 2019
b8e1f07
added optional position argument to diag_axis_init calls for id_xq an…
Oct 3, 2019
73512de
appended .nc to the hard-coded ocean geometry and vertical coordinate…
Oct 4, 2019
0b874f3
Merge pull request #31 from NOAA-GFDL/dev/gfdl
wrongkindofdoctor Oct 4, 2019
68fe35a
changed the save_restart axis registration loop to use the global io …
Oct 4, 2019
9a8b0aa
Merge branch 'dev/gfdl' into user/jml/operation_fms2_the_reckoning
Oct 4, 2019
c8ee583
messed with the diagnostic writes, and now MOM_shared_initialization …
Oct 4, 2019
1dae90d
forgot to save
Oct 4, 2019
a427676
Merge pull request #32 from NOAA-GFDL/dev/gfdl
wrongkindofdoctor Oct 22, 2019
1870d9b
Merge branch 'dev/gfdl' into user/jml/operation_fms2_the_reckoning
Oct 22, 2019
21610df
fixed typo
Oct 22, 2019
4040d45
added new subroutine to return logical vars for use_lath, use_lonh, u…
Oct 22, 2019
69cb4f3
reworked the the routines to write ocean_geometry.nc,replaced MOM6 re…
Oct 22, 2019
531cdfd
fixed a typo, still messing with domain crap
Oct 22, 2019
f4f97ae
fixed the write_data procedure for write_ocean_geometry_file, but sti…
Oct 23, 2019
7c7af2d
separated a logical statement into 2 parts
Oct 24, 2019
92cda76
still debugging; looks like the MOM latitudes are off going into the …
Oct 28, 2019
47eab7e
removed whitespace; identified lat problem with new no-domain read im…
Oct 30, 2019
fe935af
the lat error occurs during the read into the 2d array. For some reas…
Oct 31, 2019
5322635
Merge branch 'user/jml/operation_fms2_the_reckoning' of github.com:wr…
Oct 31, 2019
115051b
removed unused variables, added a procedure to loop through the tempo…
Nov 1, 2019
0adc986
fixed error check statements
Nov 1, 2019
42b6f5b
deleted old io calls, cleaned up the latitude index checks to throw a…
Nov 1, 2019
5a9c333
whitespace cleanup, removed checks for being on the root pe for r/w/o…
Nov 1, 2019
eb75185
whitespace cleanup, removed checks for being on the root pe for r/w/o…
Nov 1, 2019
d1e5e38
added use and public declarations for fms-io routines required by MOM…
Nov 1, 2019
3b2f162
cleaned up spacing and unused routines, reduced axis_CS allocatable a…
Nov 1, 2019
0cb2b50
removed debugging statements, changed initial values of ymax1 and yma…
Nov 4, 2019
f9a4ed2
start updating to new fms
Nov 4, 2019
3071364
added new fms io routines get_dimension_size, get_dimension_names, ge…
Nov 5, 2019
eb639e7
added calls to new read, register, dimension size, dimension name rou…
Nov 5, 2019
d954f13
added calls to new open/close/read and scale_data routines to MOM_sta…
Nov 5, 2019
5193c10
changed > to greater than in error message b/c fortran can't parse sy…
Nov 5, 2019
2a3213d
modifying the read_vector routines; need a way to check for lat or lon
Nov 5, 2019
84eab06
working on read_vector calls
Nov 5, 2019
3b6bfd1
modifying write_vector routines, changed the MOM_register_axis routin…
Nov 6, 2019
18e4e5e
change MOM_register_aixs to MOM_register_diagnostic_axis, removed int…
Nov 7, 2019
1d8a2fc
change MOM_register_aixs to MOM_register_diagnostic_axis, removed int…
Nov 7, 2019
1e9cf83
replaced MOM_read_data calls, added checks for axis units of degrees_…
Nov 7, 2019
2e0d352
changed MOM_register_axis to register_axis, whitespace cleanup, chang…
Nov 8, 2019
7320117
changed MOM_register_axis to register_axis, whitespace cleanup, chang…
Nov 8, 2019
e6528c4
removed unused parameter
Nov 8, 2019
fd31b5e
cleanup, removed the cartesian axis attribute from the axis_data_type
Nov 8, 2019
6a2f17d
changed MOM_get_axis_data to MOM_get_diagnostic_axis_data
Nov 8, 2019
32bd284
whitespace cleanup, edited MOM_get_diagnostic_axis_data description
Nov 8, 2019
2164de1
added new function MOM_register_variable_axes to query axes associate…
Nov 8, 2019
2d1d544
added new open, MOM_register_variable_axes, read_data, close routine
Nov 8, 2019
124a071
Merge pull request #33 from NOAA-GFDL/dev/gfdl
wrongkindofdoctor Nov 12, 2019
b3cfa11
merged in latest dev/gfdl updates
Nov 12, 2019
90c1e34
added new interface routines MOM_get_nc_corner_edgelengths that set v…
Nov 12, 2019
d8775ad
FINALLY replaced all MOM_read_data_calls with new fms-io. General str…
Nov 12, 2019
40463e4
started debugging new IO, managed to fine more effing MOM_read_data c…
Nov 13, 2019
901ab79
fixed the calls to MOM_open_file, added checks for the unlimited dime…
Nov 14, 2019
015d9a8
FINALLY FINISHED REPLACING THE MOM_READ_DATA CALLS WITH READ_DATA,etc...
Nov 14, 2019
82f2749
removed unused routines and calls including create_file, reopen_file,…
Nov 14, 2019
4e624e2
cleaned more unused routines, but found more MOM_read_calls in the co…
Nov 14, 2019
4a59f11
more cleanup
Nov 14, 2019
59b40bf
added write_version_number back to MOM_io b/c still needed by drivers
Nov 14, 2019
8d8d294
updating drivers; need to figure out best way to specify 10+ variable…
Nov 14, 2019
6b4ff4d
added the MOM_read_data interfaces back in, and modified routines to …
Nov 15, 2019
02bbe92
made GV an optional argument in write_initial_conditions routine
Nov 15, 2019
ca5c72a
reverted read_data procedure to MOM_read_data calls using the interfa…
Nov 15, 2019
6e109d5
reverted to MOM_read_data calls in parametererizations and user modules
Nov 15, 2019
72daaf7
reverted to MOM_read_data calls in tracer modules
Nov 15, 2019
198725b
reverted to MOM_read_data calls in tracer, user, ice_shelf, ocean_dat…
Nov 15, 2019
d7a4dda
removed calls to fms io_infra_end and get_filename_appendix
Nov 18, 2019
00240f6
cleaned up typos, added function num_timelevels back to MOM_io with n…
Nov 18, 2019
380e7ea
fixed some more compile-time errors
Nov 18, 2019
634c7e9
more compile-time debugging
Nov 18, 2019
229aadb
Lots of compile-time debugging. The code now compiles with gnu7 in de…
Nov 18, 2019
e5d8a2d
Testing: Build support for fms-io-dev
marshallward Nov 19, 2019
ad82790
Merge pull request #34 from marshallward/fms_io_build
wrongkindofdoctor Nov 19, 2019
09bcebc
Merge pull request #35 from NOAA-GFDL/dev/gfdl
wrongkindofdoctor Nov 19, 2019
54c888e
merged in updates from dev/gfdl
Nov 19, 2019
efb5b76
removed whitespace, removed the MOM_open_file interface routines in M…
Nov 20, 2019
1f0243a
whitespace cleaup
Nov 20, 2019
5bd5e64
more whitespace cleanup, replaced MOM_open_file calls with open_file,…
Nov 20, 2019
b32f2c4
modified the supergrid axis registration procedure in MOM_grid_initia…
Nov 20, 2019
07cd4dd
Merge branch 'user/jml/operation_fms2_the_reckoning' of github.com:wr…
Nov 20, 2019
c8b6775
put create_file back in MOM_io and modified the routine to use the ne…
Nov 21, 2019
7b00b02
added new write_field interfaces to MOM_io.
Nov 22, 2019
2c32568
merge in latest dev/gfdl updates (#36)
wrongkindofdoctor Nov 28, 2019
9df1efe
Merge branch 'dev/gfdl' into user/jml/operation_fms2_the_reckoning
Nov 28, 2019
9d495d2
added new wrapper routines for field_size and field_exists to MOM-io
Nov 28, 2019
855d706
Merge in dev/gfdl updates (#37)
wrongkindofdoctor Dec 2, 2019
3c15a0c
Revert "Merge in dev/gfdl updates (#37)"
wrongkindofdoctor Dec 2, 2019
5910903
Merge pull request #38 from wrongkindofdoctor/revert-37-dev/gfdl
wrongkindofdoctor Dec 2, 2019
3623259
reverted direct callst to fms-io interfaces in MOM_open_boundary, MOM…
Dec 2, 2019
3e27e47
Merge branch 'dev/gfdl' of git://github.com/NOAA-GFDL/MOM6 into NOAA-…
Dec 3, 2019
ece60c1
Merge branch 'NOAA-GFDL-dev/gfdl' into dev/gfdl
Dec 3, 2019
cae4cfd
Merge branch 'dev/gfdl' of github.com:wrongkindofdoctor/MOM6 into dev…
Dec 3, 2019
c1a9e3f
removed unused calls to open_file and file_exists from driver files
Dec 3, 2019
43b4dde
fixed compile-time errors
Dec 3, 2019
4f761c0
more compile-time debugging
Dec 4, 2019
b9c02e6
added scale option to write field
Dec 5, 2019
e072bc7
Merge in latest dev/gfdl updates (#40)
wrongkindofdoctor Dec 6, 2019
9297796
fixed compile-time errors
Dec 3, 2019
6f4a0eb
Merge branch 'user/jml/operation_fms2_the_reckoning' of github.com:wr…
Dec 6, 2019
7c0e1bd
Merge branch 'dev/gfdl' into user/jml/operation_fms2_the_reckoning
Dec 6, 2019
d1e8cdc
whitespace cleanup
Dec 6, 2019
4f4d04d
Merge branch 'dev/gfdl' into user/jml/operation_fms2_the_reckoning
wrongkindofdoctor Dec 9, 2019
b051563
fixed doxygen errors in interface definitions
Dec 9, 2019
075ab81
Merge pull request #41 from NOAA-GFDL/dev/gfdl
wrongkindofdoctor Dec 9, 2019
3ef175a
added checks to create_file that do a non-domain-decomposed read if t…
Dec 9, 2019
3c59a37
whitespace cleanup
Dec 10, 2019
dd796df
added checks for G, dG, GV to create_file before setting axis data an…
Dec 11, 2019
c911f59
removed unused 'fields' argument from create_file calls
Dec 12, 2019
6ac210d
whitespace cleanup
Dec 13, 2019
09b1744
create_file updates
Dec 16, 2019
abaf004
Merge pull request #42 from NOAA-GFDL/dev/gfdl
wrongkindofdoctor Dec 17, 2019
226a0d1
Merge branch 'dev/gfdl' into user/jml/operation_fms2_the_reckoning
Dec 17, 2019
d0d0d6e
removed calls to write_field for non-dd interfaces in write_field_DD …
Dec 17, 2019
9098e25
moved the calls to get_var_dimension_features and get_global_io_domai…
Dec 17, 2019
162ca97
Merge pull request #43 from NOAA-GFDL/dev/gfdl
wrongkindofdoctor Jan 6, 2020
ec8759f
Merge branch 'dev/gfdl' into user/jml/operation_fms2_the_reckoning
Jan 6, 2020
4426b4e
removed the G argument from write_field calls for variables with vert…
Jan 6, 2020
27744e8
replaced var_exists with direct call to variable_exists in write_fiel…
Jan 7, 2020
ae9fe4f
added read calls to write_field interfaces to get the domain-decompos…
Jan 7, 2020
7dbca83
Merge pull request #44 from NOAA-GFDL/dev/gfdl
wrongkindofdoctor Jan 13, 2020
d01bb7a
Merge pull request #45 from wrongkindofdoctor/dev/gfdl
wrongkindofdoctor Jan 13, 2020
a341b06
moved the energypath_nc definition out of the logic blockfor CS%previ…
Jan 13, 2020
fab0b2a
added another call to get_dimension_size to obtain the unlimited (tim…
Jan 16, 2020
a781f73
add calls to define the io_layout to write_initial_conditions and sav…
Jan 16, 2020
12dccaf
Merge pull request #46 from NOAA-GFDL/dev/gfdl
wrongkindofdoctor Jan 17, 2020
0f49bcb
(*)Set answers_2018 in calls to solve_linear_system
Hallberg-NOAA Dec 27, 2019
5779025
+Added subroutine linear_solver to regrid_solvers
Hallberg-NOAA Jan 2, 2020
26d1577
(*)Simplified edge-value linear systems
Hallberg-NOAA Jan 6, 2020
4bf3f05
(*)Added explicit boundary edge value estimates
Hallberg-NOAA Jan 13, 2020
d58d177
(*)Got a test working with edge_slopes_implicit_h5
Hallberg-NOAA Jan 13, 2020
03f76e5
(*)Improved algorithms in edge_slopes_implicit_h5
Hallberg-NOAA Jan 14, 2020
3505a83
Use linear_solver in edge_slopes_implicit_h5
Hallberg-NOAA Jan 14, 2020
8aacfd8
Made regrid_edge_slopes more concise
Hallberg-NOAA Jan 14, 2020
b06ba2d
+Merged regrid_edge_slopes into regrid_edge_values
Hallberg-NOAA Jan 15, 2020
8022f7f
(*)Corrected a sign error in edge_slopes_implicit_h3
Hallberg-NOAA Jan 15, 2020
6be7bfd
(*)Use end_value_h4 in edge_slopes_implicit_h3
Hallberg-NOAA Jan 16, 2020
4dbf7e8
(*)Limit fractional thicknesses in end_value_h4
Hallberg-NOAA Jan 16, 2020
3951020
+Add optional argument tol to test_answers
Hallberg-NOAA Jan 16, 2020
5d3afb9
(*)Minor refactoring of edge_values_explicit_h4
Hallberg-NOAA Jan 16, 2020
e516d39
Added dOxygen comments to test_line
Hallberg-NOAA Jan 16, 2020
6625e8a
still having nothing but problems with the tc3 layout domains. I thin…
Jan 22, 2020
34a0e4b
defined the pelist for non-domain-decomposed writes in create_file to…
Jan 24, 2020
49470ec
changed TINY back to EPSILON to account for possible roundoff error i…
Jan 27, 2020
4697a41
removed index routine calls--not needed w/new IO check. Need to add r…
Jan 28, 2020
520e651
removed the unused THREADING option from create_file
Jan 29, 2020
9512dea
still having nothing but problems with the tc3 layout domains. I thin…
Jan 22, 2020
c5fa346
Merge branch 'dev/gfdl' into user/jml/operation_fms2_the_reckoning
wrongkindofdoctor Jan 30, 2020
cd5f166
removed call to flush_file from MOM_sum_output b/c no longer needed
Jan 30, 2020
7305288
Merge branch 'user/jml/operation_fms2_the_reckoning' of github.com:wr…
Jan 30, 2020
78824f0
white space cleanup
Jan 30, 2020
fb8538d
removed the start argument from the calls to read_data the map to the…
Jan 31, 2020
75bf700
whitespace cleanup
Feb 3, 2020
cee0a21
Merge pull request #47 from NOAA-GFDL/dev/gfdl
wrongkindofdoctor Feb 3, 2020
0fdd420
reverted whitespace changes
Feb 6, 2020
92beb3a
changed FMS_COMMIT to master in .testing Makefile
Feb 6, 2020
009ac3e
changed time_level to timelevel in MOM_solo_driver MOM_read_data, MOM…
Feb 6, 2020
2ab3ac5
more whitespace cleanup
Feb 7, 2020
03d53e6
whitespace cleanup, fixed syntax error in MOM_grid_initialize
Feb 7, 2020
c4be837
removed unsupported doxygen tag
Feb 7, 2020
815d5fe
switched time_level argument to timelevel in oda_driver
Feb 7, 2020
31874b0
fixed write_field time_level argument in MOM_sum_output.F90
Feb 7, 2020
cb52d41
replaced get_cpu_affinity with fms_cpu_affinity_get and set_cpu_affin…
Feb 7, 2020
e99f542
added module use fms_affinity fms_affinity_set, fms_affinity_get to M…
Feb 7, 2020
477d9f8
Merge pull request #48 from NOAA-GFDL/dev/gfdl
wrongkindofdoctor Feb 10, 2020
4df803c
Merge branch 'dev/gfdl' into user/jml/operation_fms2_the_reckoning
Feb 10, 2020
4b72a4e
added procedure to set the io_layout for 1-pe jobs to restore_state
Feb 10, 2020
ad57436
redirected get_affinity and set_affinity calls to routines in fms_aff…
Feb 10, 2020
e2bd5f1
Merge branch 'user/jml/operation_fms2_the_reckoning' of github.com:wr…
Feb 11, 2020
5ac21ba
removed extraneous calls to open file from write_field_noDD routines,…
Feb 11, 2020
b194c65
declared variable i in write_scalar
Feb 11, 2020
b3867ff
removed extraneous open_file and pelist definition from write_field_1…
Feb 11, 2020
fa8b092
replaced get_cpu_affinity with fms_cpu_affinity_get and set_cpu_affin…
Feb 7, 2020
e962dc3
Added option to trailer.py for line length excluding comments
adcroft Jan 23, 2020
db102fd
Correct spelling in HI doxumentation
adcroft Dec 12, 2019
eaf32c4
Adds global extents to hor_index type
adcroft Dec 12, 2019
cf274fe
Adds MOM_random module
adcroft Jan 20, 2020
44d085f
Segment index added for several OBC segment flags
marshallward Feb 5, 2020
22c3166
Replaced intent(out) with intent(inout) in EOS
adcroft Jan 25, 2020
8954164
added procedure to set the io_layout for 1-pe jobs to restore_state
Feb 10, 2020
8530cb7
Merge branch 'user/jml/operation_fms2_the_reckoning' of github.com:wr…
Feb 11, 2020
fa14ff5
added check that sum of base_cpu and adder is at least 1 that passes …
Feb 11, 2020
c4f8937
changed get_affinity back to get_cpu_affinity, set_affinity back to s…
Feb 11, 2020
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
4 changes: 2 additions & 2 deletions .testing/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ MKMF := $(abspath $(DEPS)/mkmf/bin/mkmf)

# FMS framework
FMS_URL ?= https://github.com/NOAA-GFDL/FMS.git
FMS_COMMIT ?= f2e2c86f6c0eb6d389a20509a8a60fa22924e16b
FMS_COMMIT ?= master
FMS := $(DEPS)/fms

#---
Expand Down Expand Up @@ -111,7 +111,7 @@ $(BUILD)/%/Makefile: $(BUILD)/%/path_names
cp $(MKMF_TEMPLATE) $(@D)
cd $(@D) && $(MKMF) \
-t $(notdir $(MKMF_TEMPLATE)) \
-o '-I $(FMS)/build' \
-o '-I $(FMS)/build -I $(FMS)/src/include' \
-p MOM6 \
-l '$(FMS)/lib/libfms.a' \
-c $(MKMF_CPP) \
Expand Down
4 changes: 2 additions & 2 deletions .testing/tc4/build_grid.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@
areav.units = 'm2'
f_sg.createVariable('angle_dx', 'f8', ('nyp', 'nxp'))
f_sg.createVariable('tile', 'S1', ('string'))
f_sg.variables['y'].units = 'degrees'
f_sg.variables['x'].units = 'degrees'
f_sg.variables['y'].units = 'degrees_north'
f_sg.variables['x'].units = 'degrees_east'
f_sg.variables['dy'].units = 'meters'
f_sg.variables['dx'].units = 'meters'
f_sg.variables['area'].units = 'm2'
Expand Down
5 changes: 4 additions & 1 deletion config_src/coupled_driver/ocean_model_MOM.F90
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ module ocean_model_mod
use coupler_types_mod, only : coupler_type_set_diags, coupler_type_send_data
use mpp_domains_mod, only : domain2d, mpp_get_layout, mpp_get_global_domain
use mpp_domains_mod, only : mpp_define_domains, mpp_get_compute_domain, mpp_get_data_domain
use mpp_domains_mod, only : mpp_define_io_domain, mpp_get_io_domain_layout
use atmos_ocean_fluxes_mod, only : aof_set_coupler_flux
use fms_mod, only : stdout
use mpp_mod, only : mpp_chksum
Expand Down Expand Up @@ -766,7 +767,7 @@ subroutine initialize_ocean_public_type(input_domain, Ocean_sfc, diag, maskmap,
!! in the calculation of additional gas or other
!! tracer fluxes.

integer :: xsz, ysz, layout(2)
integer :: xsz, ysz, layout(2), io_layout(2)
! ice-ocean-boundary fields are always allocated using absolute indicies
! and have no halos.
integer :: isc, iec, jsc, jec
Expand All @@ -779,6 +780,8 @@ subroutine initialize_ocean_public_type(input_domain, Ocean_sfc, diag, maskmap,
call mpp_define_domains((/1,xsz,1,ysz/),layout,Ocean_sfc%Domain)
endif
call mpp_get_compute_domain(Ocean_sfc%Domain, isc, iec, jsc, jec)
io_layout = mpp_get_io_domain_layout(input_domain)
call mpp_define_io_domain(Ocean_sfc%Domain, io_layout)

allocate ( Ocean_sfc%t_surf (isc:iec,jsc:jec), &
Ocean_sfc%s_surf (isc:iec,jsc:jec), &
Expand Down
4 changes: 2 additions & 2 deletions config_src/ice_solo_driver/ice_shelf_driver.F90
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ program SHELF_main
! use MOM_grid, only : ocean_grid_type
use MOM_get_input, only : Get_MOM_Input, directories
use MOM_io, only : file_exists, open_file, close_file
use MOM_io, only : check_nml_error, io_infra_init, io_infra_end
use MOM_io, only : check_nml_error, io_infra_init
use MOM_io, only : APPEND_FILE, ASCII_FILE, READONLY_FILE, SINGLE_FILE
use MOM_restart, only : save_restart
! use MOM_sum_output, only : write_energy, accumulate_net_input
Expand Down Expand Up @@ -405,7 +405,7 @@ program SHELF_main
call diag_mediator_end(Time, ice_shelf_CSp%diag, end_diag_manager=.true.)
call cpu_clock_end(termClock)

call io_infra_end ; call MOM_infra_end
call MOM_infra_end

call ice_shelf_end(ice_shelf_CSp)

Expand Down
1 change: 0 additions & 1 deletion config_src/ice_solo_driver/user_surface_forcing.F90
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ module user_surface_forcing
use MOM_forcing_type, only : forcing, mech_forcing
use MOM_forcing_type, only : allocate_forcing_type, allocate_mech_forcing
use MOM_grid, only : ocean_grid_type
use MOM_io, only : file_exists, read_data
use MOM_time_manager, only : time_type, operator(+), operator(/), get_time
use MOM_tracer_flow_control, only : call_tracer_set_forcing
use MOM_tracer_flow_control, only : tracer_flow_control_CS
Expand Down
13 changes: 9 additions & 4 deletions config_src/solo_driver/MOM_driver.F90
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ program MOM_main
use MOM_get_input, only : directories
use MOM_grid, only : ocean_grid_type
use MOM_io, only : file_exists, open_file, close_file
use MOM_io, only : check_nml_error, io_infra_init, io_infra_end
use MOM_io, only : check_nml_error, io_infra_init
use MOM_io, only : APPEND_FILE, ASCII_FILE, READONLY_FILE, SINGLE_FILE
use MOM_restart, only : MOM_restart_CS, save_restart
use MOM_string_functions,only : uppercase
Expand All @@ -64,6 +64,7 @@ program MOM_main

use ensemble_manager_mod, only : ensemble_manager_init, get_ensemble_size
use ensemble_manager_mod, only : ensemble_pelist_setup
use fms_affinity_mod, only : get_cpu_affinity=>fms_affinity_get, set_cpu_affinity=>fms_affinity_set
use mpp_mod, only : set_current_pelist => mpp_set_current_pelist
use time_interp_external_mod, only : time_interp_external_init

Expand Down Expand Up @@ -209,7 +210,7 @@ program MOM_main
integer :: ocean_nthreads = 1
integer :: ncores_per_node = 36
logical :: use_hyper_thread = .false.
integer :: omp_get_num_threads,omp_get_thread_num,get_cpu_affinity,adder,base_cpu
integer :: omp_get_num_threads,omp_get_thread_num,adder,base_cpu
namelist /ocean_solo_nml/ date_init, calendar, months, days, hours, minutes, seconds,&
ocean_nthreads, ncores_per_node, use_hyper_thread

Expand Down Expand Up @@ -264,7 +265,11 @@ program MOM_main
!$ else
!$ adder = omp_get_thread_num()
!$ endif
!$ call set_cpu_affinity (base_cpu + adder)
!$ if (base_cpu + adder >= 1) then
!$ call set_cpu_affinity(component="MOM_driver", use_hyper_thread=use_hyper_thread, nthreads=base_cpu + adder)
!$ else
!$ call set_cpu_affinity(component="MOM_driver", use_hyper_thread=use_hyper_thread, nthreads=1)
!$ endif
!$ write(6,*) " ocean ", base_cpu, get_cpu_affinity(), adder, omp_get_thread_num(), omp_get_num_threads()
!$ call flush(6)
!$OMP END PARALLEL
Expand Down Expand Up @@ -663,7 +668,7 @@ program MOM_main
call diag_mediator_end(Time, diag, end_diag_manager=.true.)
call cpu_clock_end(termClock)

call io_infra_end ; call MOM_infra_end
call MOM_infra_end

call MOM_end(MOM_CSp)
if (use_ice_shelf) call ice_shelf_end(ice_shelf_CSp)
Expand Down
8 changes: 4 additions & 4 deletions config_src/unit_drivers/MOM_sum_driver.F90
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ program MOM_main
use MOM_file_parser, only : open_param_file, close_param_file
use MOM_grid, only : MOM_grid_init, ocean_grid_type
use MOM_grid_initialize, only : set_grid_metrics
use MOM_io, only : MOM_io_init, file_exists, open_file, close_file
use MOM_io, only : check_nml_error, io_infra_init, io_infra_end
use MOM_io, only : APPEND_FILE, ASCII_FILE, READONLY_FILE, SINGLE_FILE
use MOM_io, only : MOM_io_init
use MOM_io, only : check_nml_error, io_infra_init
use MOM_io, only : APPEND_FILE, ASCII_FILE, READONLY_FILE

implicit none

Expand Down Expand Up @@ -161,7 +161,7 @@ program MOM_main
endif
enddo

call io_infra_end ; call MOM_infra_end
call MOM_infra_end

contains

Expand Down
10 changes: 4 additions & 6 deletions src/ALE/MOM_ALE.F90
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ module MOM_ALE
use MOM_error_handler, only : callTree_enter, callTree_leave, callTree_waypoint
use MOM_file_parser, only : get_param, param_file_type, log_param
use MOM_io, only : vardesc, var_desc, fieldtype, SINGLE_FILE
use MOM_io, only : create_file, write_field, close_file
use MOM_io, only : create_file, write_field
use MOM_interface_heights,only : find_eta
use MOM_open_boundary, only : ocean_OBC_type, OBC_DIRECTION_E, OBC_DIRECTION_W
use MOM_open_boundary, only : OBC_DIRECTION_N, OBC_DIRECTION_S
Expand Down Expand Up @@ -1270,7 +1270,6 @@ subroutine ALE_writeCoordinateFile( CS, GV, directory )
character(len=240) :: filepath
type(vardesc) :: vars(2)
type(fieldtype) :: fields(2)
integer :: unit
real :: ds(GV%ke), dsi(GV%ke+1)

filepath = trim(directory) // trim("Vertical_coordinate")
Expand All @@ -1284,10 +1283,9 @@ subroutine ALE_writeCoordinateFile( CS, GV, directory )
vars(2) = var_desc('ds_interface', getCoordinateUnits( CS%regridCS ), &
'Layer Center Coordinate Separation','1','i','1')

call create_file(unit, trim(filepath), vars, 2, fields, SINGLE_FILE, GV=GV)
call write_field(unit, fields(1), ds)
call write_field(unit, fields(2), dsi)
call close_file(unit)
call create_file(trim(filepath), vars, 2, GV=GV)
call write_field(trim(filepath), vars(1)%name, ds, "append", var_desc=vars(1), GV=GV)
call write_field(trim(filepath), vars(2)%name, dsi, "append", var_desc=vars(2), GV=GV)

end subroutine ALE_writeCoordinateFile

Expand Down
33 changes: 17 additions & 16 deletions src/core/MOM.F90
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ module MOM
use MOM_obsolete_params, only : find_obsolete_params
use MOM_restart, only : register_restart_field, query_initialized, save_restart
use MOM_restart, only : restart_init, is_new_run, MOM_restart_CS
use MOM_restart, only : write_initial_conditions
use MOM_spatial_means, only : global_mass_integral
use MOM_time_manager, only : time_type, real_to_time, time_type_to_real, operator(+)
use MOM_time_manager, only : operator(-), operator(>), operator(*), operator(/)
Expand Down Expand Up @@ -2215,13 +2216,14 @@ subroutine initialize_MOM(Time, Time_init, param_file, dirs, CS, restart_CSp, &
call adjustGridForIntegrity(CS%ALE_CSp, G, GV, CS%h )
call callTree_waypoint("Calling ALE_main() to remap initial conditions (initialize_MOM)")
if (use_ice_shelf) then
filename = ''
filename = trim(inputdir)//trim(ice_shelf_file)
if (.not.file_exists(filename, G%Domain)) call MOM_error(FATAL, &
if (.not.file_exists(filename)) call MOM_error(FATAL, &
"MOM: Unable to open "//trim(filename))

allocate(area_shelf_h(isd:ied,jsd:jed))
allocate(frac_shelf_h(isd:ied,jsd:jed))
call MOM_read_data(filename, trim(area_varname), area_shelf_h, G%Domain)
call MOM_read_data(filename, trim(area_varname), area_shelf_h, G%domain)
! initialize frac_shelf_h with zeros (open water everywhere)
frac_shelf_h(:,:) = 0.0
! compute fractional ice shelf coverage of h
Expand Down Expand Up @@ -2507,13 +2509,13 @@ subroutine finish_MOM_initialization(Time, dirs, CS, restart_CSp)
if (CS%write_IC) then
allocate(restart_CSp_tmp)
restart_CSp_tmp = restart_CSp
! register eta to the temporary control structure for the IC data
allocate(z_interface(SZI_(G),SZJ_(G),SZK_(G)+1))
call find_eta(CS%h, CS%tv, G, GV, US, z_interface, eta_to_m=1.0)
call register_restart_field(z_interface, "eta", .true., restart_CSp_tmp, &
"Interface heights", "meter", z_grid='i')
z_grid='i', longname="Interface heights", units="meter")

call save_restart(dirs%output_directory, Time, G, &
restart_CSp_tmp, filename=CS%IC_file, GV=GV)
call write_initial_conditions(dirs%output_directory, CS%IC_file, restart_CSp_tmp, G, Time, GV=GV)
deallocate(z_interface)
deallocate(restart_CSp_tmp)
endif
Expand Down Expand Up @@ -2616,43 +2618,43 @@ subroutine set_restart_fields(GV, US, param_file, CS, restart_CSp)

if (associated(CS%tv%T)) &
call register_restart_field(CS%tv%T, "Temp", .true., restart_CSp, &
"Potential Temperature", "degC")
longname="Potential Temperature", units="degC")
if (associated(CS%tv%S)) &
call register_restart_field(CS%tv%S, "Salt", .true., restart_CSp, &
"Salinity", "PPT")
longname="Salinity", units="PPT")

call register_restart_field(CS%h, "h", .true., restart_CSp, &
"Layer Thickness", thickness_units)
longname="Layer Thickness", units=thickness_units)

call register_restart_field(CS%u, "u", .true., restart_CSp, &
"Zonal velocity", "m s-1", hor_grid='Cu')
longname="Zonal velocity", units="m s-1", hor_grid='Cu')

call register_restart_field(CS%v, "v", .true., restart_CSp, &
"Meridional velocity", "m s-1", hor_grid='Cv')
longname="Meridional velocity", units="m s-1", hor_grid='Cv')

if (associated(CS%tv%frazil)) &
call register_restart_field(CS%tv%frazil, "frazil", .false., restart_CSp, &
"Frazil heat flux into ocean", "J m-2")
longname="Frazil heat flux into ocean", units="J m-2")

if (CS%interp_p_surf) then
call register_restart_field(CS%p_surf_prev, "p_surf_prev", .false., restart_CSp, &
"Previous ocean surface pressure", "Pa")
longname="Previous ocean surface pressure", units="Pa")
endif

call register_restart_field(CS%ave_ssh_ibc, "ave_ssh", .false., restart_CSp, &
"Time average sea surface height", "meter")
longname="Time average sea surface height", units="meter")

! hML is needed when using the ice shelf module
call get_param(param_file, '', "ICE_SHELF", use_ice_shelf, default=.false., &
do_not_log=.true.)
if (use_ice_shelf .and. associated(CS%Hml)) then
call register_restart_field(CS%Hml, "hML", .false., restart_CSp, &
"Mixed layer thickness", "meter")
longname="Mixed layer thickness", units="meter")
endif

! Register scalar unit conversion factors.
call register_restart_field(US%m_to_Z_restart, "m_to_Z", .false., restart_CSp, &
"Height unit conversion factor", "Z meter-1")
longname="Height unit conversion factor", units="Z meter-1")
call register_restart_field(GV%m_to_H_restart, "m_to_H", .false., restart_CSp, &
"Thickness unit conversion factor", "H meter-1")
call register_restart_field(US%m_to_L_restart, "m_to_L", .false., restart_CSp, &
Expand All @@ -2661,7 +2663,6 @@ subroutine set_restart_fields(GV, US, param_file, CS, restart_CSp)
"Time unit conversion factor", "T second-1")
call register_restart_field(US%kg_m3_to_R_restart, "kg_m3_to_R", .false., restart_CSp, &
"Density unit conversion factor", "R m3 kg-1")

end subroutine set_restart_fields

!> Apply a correction to the sea surface height to compensate
Expand Down
47 changes: 24 additions & 23 deletions src/core/MOM_barotropic.F90
Original file line number Diff line number Diff line change
Expand Up @@ -4459,38 +4459,39 @@ subroutine register_barotropic_restarts(HI, GV, param_file, CS, restart_CS)
hor_grid='u', z_grid='1')
vd(3) = var_desc("vbtav","m s-1","Time mean barotropic meridional velocity",&
hor_grid='v', z_grid='1')
call register_restart_field(CS%ubtav, vd(2), .false., restart_CS)
call register_restart_field(CS%vbtav, vd(3), .false., restart_CS)

vd(2) = var_desc("ubt_IC", "m s-1", &
longname="Next initial condition for the barotropic zonal velocity", &
hor_grid='u', z_grid='1')
vd(3) = var_desc("vbt_IC", "m s-1", &
longname="Next initial condition for the barotropic meridional velocity",&
hor_grid='v', z_grid='1')
call register_restart_field(CS%ubt_IC, vd(2), .false., restart_CS)
call register_restart_field(CS%vbt_IC, vd(3), .false., restart_CS)
call register_restart_field(CS%ubtav, vd(2)%name, .false., restart_CS, longname = vd(2)%longname, &
units=vd(2)%units, hor_grid=vd(2)%hor_grid, z_grid=vd(2)%z_grid)

call register_restart_field(CS%vbtav, vd(3)%name, .false., restart_CS, longname=vd(3)%longname, &
units=vd(3)%units, hor_grid=vd(3)%hor_grid, z_grid=vd(3)%z_grid)
vd(2) = var_desc("ubt_IC", "m s-1", longname="Next initial condition for the barotropic zonal velocity", &
hor_grid='u', z_grid='1')
vd(3) = var_desc("vbt_IC", "m s-1", longname="Next initial condition for the barotropic meridional velocity", &
hor_grid='v', z_grid='1')
call register_restart_field(CS%ubt_IC, vd(2)%name, .false., restart_CS, longname = vd(2)%longname, &
units=vd(2)%units, hor_grid=vd(2)%hor_grid, z_grid=vd(2)%z_grid)

call register_restart_field(CS%vbt_IC, vd(3)%name, .false., restart_CS, longname = vd(3)%longname, &
units=vd(3)%units, hor_grid=vd(3)%hor_grid, z_grid=vd(3)%z_grid)

if (GV%Boussinesq) then
vd(2) = var_desc("uhbt_IC", "m3 s-1", &
longname="Next initial condition for the barotropic zonal transport", &
vd(2) = var_desc("uhbt_IC", "m3 s-1", longname="Next initial condition for the barotropic zonal transport", &
hor_grid='u', z_grid='1')
vd(3) = var_desc("vhbt_IC", "m3 s-1", &
longname="Next initial condition for the barotropic meridional transport",&
vd(3) = var_desc("vhbt_IC", "m3 s-1", longname="Next initial condition for the barotropic meridional transport", &
hor_grid='v', z_grid='1')
else
vd(2) = var_desc("uhbt_IC", "kg s-1", &
longname="Next initial condition for the barotropic zonal transport", &
vd(2) = var_desc("uhbt_IC", "kg s-1", longname="Next initial condition for the barotropic zonal transport", &
hor_grid='u', z_grid='1')
vd(3) = var_desc("vhbt_IC", "kg s-1", &
longname="Next initial condition for the barotropic meridional transport",&
vd(3) = var_desc("vhbt_IC", "kg s-1", longname="Next initial condition for the barotropic meridional transport", &
hor_grid='v', z_grid='1')
endif
call register_restart_field(CS%uhbt_IC, vd(2), .false., restart_CS)
call register_restart_field(CS%vhbt_IC, vd(3), .false., restart_CS)
call register_restart_field(CS%uhbt_IC, vd(2)%name, .false., restart_CS, longname = vd(2)%longname, &
units=vd(2)%units, hor_grid=vd(2)%hor_grid, z_grid=vd(2)%z_grid)

call register_restart_field(CS%vhbt_IC, vd(3)%name, .false., restart_CS, longname = vd(3)%longname, &
units=vd(3)%units, hor_grid=vd(3)%hor_grid, z_grid=vd(3)%z_grid)

call register_restart_field(CS%dtbt, "DTBT", .false., restart_CS, &
longname="Barotropic timestep", units="seconds")
call register_restart_field(CS%dtbt, "DTBT", .false., restart_CS, longname="Barotropic timestep", units="seconds")

end subroutine register_barotropic_restarts

Expand Down
Loading