-
Notifications
You must be signed in to change notification settings - Fork 137
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
Eliminate remaining uses of Cray pointers #54
Comments
Thank you. We look forward to your pull request. However, please note that internally at GFDL we are in the process of a major rewrite of the fms and mpp sections of the FMS code. |
Understood. We ended up with less time to work on this than anticipated. So other than drafting a rough process on how we would do the conversion, no work has actually happened. We'll now wait until the major rewrite is completed. Note: one of our stumbling blocks was that we have no good way to test our changes to FMS. Our FV3 probably only exercises a small subset of the functionality and would be a poor diagnostic in any event. Do you have a testing methodology for FMS? Or do you just verify that it works with the GFDL model(s)? |
Currently, we run several tests manually using several GFDL model configurations. This also only tests portions of the FMS code, but enough for us to have confidence it will work for the GFDL models. We are working on a automated process that will take use of one (or more) of the cloud providers (e.g. Google Compute, Amazon's AWS). Once complete, we will release the documentation that others can use to set up their own build/test instances. However, the government shutdown and a system update have delayed our progress. |
Great. Looking forward to the improved testing. |
I have just put up a PR with an autotools based build system for FMS. This supports testing very easily. I am looking at the existing test code now to see if it can be turned into automated tests. |
* monin_obukhov (no mod required) * updated drifters * updated time_manager * updated block_control
* monin_obukhov (no mod required) * updated drifters * updated time_manager * updated block_control
* monin_obukhov (no mod required) * updated drifters * updated time_manager * updated block_control
* Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Add mixed precision (#34) (#40) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> * Add mixed precision (#41) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> * Mixed Precision: Test mpp_sum (#43) * adding test for mpp_sum * Updated test_mpp_sum to no longer get error * updated mpp_init call for test_mpp_sum Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> * Rebase onto master (#46) * Change mpirun to run_test in test_mpp_memutils.sh (#566) (#45) Change mpirun to run_test in test_mpp_memutils.sh (#566) * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. Add mixed precision (#34) (#40) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Add mixed precision (#41) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Mixed Precision: Test mpp_sum (#43) * adding test for mpp_sum * Updated test_mpp_sum to no longer get error * updated mpp_init call for test_mpp_sum Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> * Added missing \'s * removed repeated line * added test_update_domains_performance fortran program and launch script that tests mpp_start_update_domains and mpp_complete_update_domains on real 32-bit and 64-bit arrays, and compares the results to the answer returned by mpp_update_domains. The test expands the routine that was originally in test_mpp_domains (#49) added calls to mpp_domains_init and mpp_domains_exit to test_mpp_update_domains updated the test_fms/mpp makefile updated Makefile.am to include platform directory add platform.mod definitions to compare_data_checksums.F90,fill_halo.F90, test_mpp_update_domains.F90 , test_update_domains_performance.F90 added required subroutines to test_update_domains_performance.F90 changed write(outunit,) to call mpp_error removed the four-tile mosaic test because it fails from messsage size problem, and was never used in the original test suite added optional tile_count argument to mpp_update_domains, mpp_start_domains, and mpp_complete_domains calls and loops over npes_per_tile around the calls removed update_domains_performance routine and test from test_mpp_domains.F90 * test_mpp_broadcast unit test for mixed precision (#50) * modifies fms_test/mpp/test_mpp_broadcast.F90 for mixed precision * adds additional test for mpp_broadcast * updates base * removes misc file * cleanups trailing spaces * Eric mp branch (#44) * Removed OVERLOAD_R4, Separated minmax mpp test, waiting to rebase with Miguels changes * Updated to only call test_level 0 of mpp_init * out with platform.h, in with platform_mod * Doxygen style comments and throwing errors when the result is not as expected * Tests now pass when only selecting appropriate pes * Refactored the tests and slimmed them down (no extraneous print statements) Co-authored-by: Eric Stofferahn <Eric.Stofferahn@noaa.gov> * Add mixed precision (#52) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. * Adding inital version of test_mpp_sendrecv.F90. R4 version only! * Adding inital version of test_mpp_sendrecv.F90. R4 version only! * Switching to use platform_mod in test_mpp_gatscat.F90. * Added R8 versions of tests. Changed to use platform_mod. * Completed forst working version of test_mpp_sendrecv with R4 and R8 variables. * Removed and improved comments in test_mpp_sendrecv.F90. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> * add mpp_update_domains_ad unit test with mixed-precision support (#42) * added test_mpp-update_domains_ad tests for 32-bit and 64-bit arrays on 1,2, and 16 pes fixed permissions for ./test_fms/mpp/test_mpp_update_domains_ad.sh removed test_halo_update_ad from test_mpp_domains.F90 change print to mpp_error(NOTE for messages about adjoint tests passing added mpp_error(FATAL, calls if adjoint tests fail add calls to mpp_domains_init and mpp_domains_exit removed the 16-pe test added debugging statements for sum values added test_mpp-update_domains_ad tests for 32-bit and 64-bit arrays on 1,2, and 16 pes fixed permissions for ./test_fms/mpp/test_mpp_update_domains_ad.sh removed test_halo_update_ad from test_mpp_domains.F90 change print to mpp_error(NOTE for messages about adjoint tests passing added mpp_error(FATAL, calls if adjoint tests fail add calls to mpp_domains_init and mpp_domains_exit removed the 16-pe test added debugging statements for sum values merged in add_mixed_precision updates added mpp_sync() calls to test_mpp_update_domains_ad.F90 made the mpp_error message for test failure a warning in the R4 test. The differences in the sums are small (O(10^6)), but I don't think this threshold is sufficient to classify it as neglible. I added notes that the threshold test failure is expected for the R4 case in the comments updated Makefile to match add_mixed_precision changed the threshold for the r4 adjoint tests to 1E-6 added skip to the 16-pe mpp_update_domains_test with a note to resolve mpp_clock_begin error in test_pe_subset added more detailed comments about R4 threshold * Removed the 16-pe test from test_mpp_update_domains.sh to avoid triggering the subset test moved todo note to test_mpp_update_domains.F90 * fixed test name in Makefile.am Co-authored-by: wrongkindofdoctor <Jessica.Liptak@lscsky50-d.gfdl.noaa.gov> * Unit test for mpp_io reads and writes (#51) * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added unit test from other branch * rm OVERLOAD_R8 ifdefs from mpp * Made new file for test * Cleaned up types * Added r4 and r8 versions for mpp_read/write_compressed * Set MPP_TYPE_ of default functions to default reals and added R4 versions to overload * Added test to autotools, fixed compilation issues and split up test to just test non-mosaic r/w's * Switched to platform_mod kinds and added appending write test and some comments * Added R4 and R8 to output messages and took out platform.h * Renamed test to be more concise Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Co-authored-by: rem1776 <Ryan.Mulhall@lscsky50-d.gfdl.noaa.gov> * Add test_io_mosaic_R4_R8 (#53) * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added unit test from other branch * rm OVERLOAD_R8 ifdefs from mpp * Made new file for test * Cleaned up types * Added r4 and r8 versions for mpp_read/write_compressed * Set MPP_TYPE_ of default functions to default reals and added R4 versions to overload * Added test to autotools, fixed compilation issues and split up test to just test non-mosaic r/w's * Switched to platform_mod kinds and added appending write test and some comments * Added R4 and R8 to output messages and took out platform.h * Renamed test to be more concise * Added test for mosaic reads and writes * Fixed test and also cleaned up and added comments * Requested changes Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Co-authored-by: rem1776 <Ryan.Mulhall@lscsky50-d.gfdl.noaa.gov> * Created test_mpp_transmit and removed the test from test_mpp.F90. Updates test_mpp_sum to replace include platform.h and replace mpp_exit. * Platform swap (#54) * monin_obukhov (no mod required) * updated drifters * updated time_manager * updated block_control * Replaced platform.h with platform_mod in test_mpp_io and diag_integral (#55) Co-authored-by: rem1776 <Ryan.Mulhall@lscsky50-d.gfdl.noaa.gov> * added integers to minmax tests * Replaced #include fms_platform.h to use platform_mod in fms_io, horiz_interp_conserve, and interpolator. (#60) * swapped #include <fms_platform.h> with use :: platform_mod, and updat… (#62) * swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path Change mpirun to run_test in test_mpp_memutils.sh (#566) (#45) Change mpirun to run_test in test_mpp_memutils.sh (#566) Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. Add mixed precision (#34) (#40) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Add mixed precision (#41) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Mixed Precision: Test mpp_sum (#43) * adding test for mpp_sum * Updated test_mpp_sum to no longer get error * updated mpp_init call for test_mpp_sum Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Adds test in test_mpp for mixed sized integer checksums Adds test for distributed integer checksums Took out remaining no_8byte_int ifdefs from mpp Split test into its own file and updated autotools for it Removed unintentional changes to test_mpp.F90 Changed init and exit calls swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path added ${topbuilddir}/platform to all makefile.am files in FMS added platform_mod definitions to fms2_io array_utils.inc added use platform_mod to fms2_io_utils.F90 added platform_mod definitions to FMS modules added ${top_builddir}/platform to test_fms/field_manager and test_fms/time_interp Makefile.am files replaced iso_fortran kinds with platform_mod kinds in test_global_att.F90 and test_io_with_mask.F90 replaced iso fotran kinds with platform_mod kinds in test_fms/fms2_io/ocean_restart_file_test.inc test_atmosphere_io.F90, and test_fms2_io.F90. replaced iso_fortran definitions with platform_mod types in fms2_io repo and tests initialized temperature arrays in fms2_io tests * fixed typos and missing comments in mpp_domains.F90 and mpp_efp.F90 * fixed another typo Co-authored-by: wrongkindofdoctor <Jessica.Liptak@lscsky50-d.gfdl.noaa.gov> * Update mpp_domains.F90 removed rogue domains_axis_spec * Revert "Update mpp_domains.F90" This reverts commit 4498bc7f22aeab28476c83e7a186cd88540bbc36. * Revert "swapped #include <fms_platform.h> with use :: platform_mod, and updat… (#62)" This reverts commit 79cd491013fbf23f9196cb84701bb77d6edd09f9. * Revert "Replaced #include fms_platform.h to use platform_mod in fms_io, horiz_interp_conserve, and interpolator. (#60)" This reverts commit 92648a466e7dd7121bf4337d6ea64a82039b7610. * swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path Change mpirun to run_test in test_mpp_memutils.sh (#566) (#45) Change mpirun to run_test in test_mpp_memutils.sh (#566) Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. Add mixed precision (#34) (#40) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Add mixed precision (#41) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Mixed Precision: Test mpp_sum (#43) * adding test for mpp_sum * Updated test_mpp_sum to no longer get error * updated mpp_init call for test_mpp_sum Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Adds test in test_mpp for mixed sized integer checksums Adds test for distributed integer checksums Took out remaining no_8byte_int ifdefs from mpp Split test into its own file and updated autotools for it Removed unintentional changes to test_mpp.F90 Changed init and exit calls swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path added ${topbuilddir}/platform to all makefile.am files in FMS added platform_mod definitions to fms2_io array_utils.inc added use platform_mod to fms2_io_utils.F90 added platform_mod definitions to FMS modules added ${top_builddir}/platform to test_fms/field_manager and test_fms/time_interp Makefile.am files replaced iso_fortran kinds with platform_mod kinds in test_global_att.F90 and test_io_with_mask.F90 replaced iso fotran kinds with platform_mod kinds in test_fms/fms2_io/ocean_restart_file_test.inc test_atmosphere_io.F90, and test_fms2_io.F90. replaced iso_fortran definitions with platform_mod types in fms2_io repo and tests initialized temperature arrays in fms2_io tests fixed typos and missing comments in mpp_domains.F90 and mpp_efp.F90 fixed another typo fixed typos added missing code that got eating in a merge back to fill_halo.F90 and test_mpp_gatscat.F90 * correcting merge on test_fms/mpp/Makefile.am * correcting one more error in merge * updating test_mpp_transmit to include integer testing, null_pe testing, and all_pes testing. * updating integer definitions as per comments on PR * updating mpp_init call * changed dimensions of test variables, initilizing the b variable when used, updated everything to account for the new dimensions Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Co-authored-by: MiKyung Lee <58964324+mlee03@users.noreply.github.com> Co-authored-by: Eric <7784797+GFDL-Eric@users.noreply.github.com> Co-authored-by: Eric Stofferahn <Eric.Stofferahn@noaa.gov> Co-authored-by: wrongkindofdoctor <Jessica.Liptak@lscsky50-d.gfdl.noaa.gov> Co-authored-by: rem1776 <35538242+rem1776@users.noreply.github.com> Co-authored-by: rem1776 <Ryan.Mulhall@lscsky50-d.gfdl.noaa.gov>
author Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> 1597932481 -0400 committer wrongkindofdoctor <20195932+wrongkindofdoctor@users.noreply.github.com> 1608215117 -0500 Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. Add mixed precision (#34) (#40) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> modifies fms_test/mpp/test_mpp_broadcast.F90 for mixed precision Add mixed precision (#41) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> parent 140430d053f0c9ed967e50023bcc676b7b0fe9db author laurenchilutti <60401591+laurenchilutti@users.noreply.github.com> 1599082523 -0400 committer wrongkindofdoctor <20195932+wrongkindofdoctor@users.noreply.github.com> 1602615798 -0400 Mixed Precision: Test mpp_sum (#43) * adding test for mpp_sum * Updated test_mpp_sum to no longer get error * updated mpp_init call for test_mpp_sum Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> adds additional test for mpp_broadcast updates base removes misc file cleanups trailing spaces removed repeated line added test_update_domains_performance fortran program and launch script that tests mpp_start_update_domains and mpp_complete_update_domains on real 32-bit and 64-bit arrays, and compares the results to the answer returned by mpp_update_domains. The test expands the routine that was originally in test_mpp_domains (#49) added calls to mpp_domains_init and mpp_domains_exit to test_mpp_update_domains updated the test_fms/mpp makefile updated Makefile.am to include platform directory add platform.mod definitions to compare_data_checksums.F90,fill_halo.F90, test_mpp_update_domains.F90 , test_update_domains_performance.F90 added required subroutines to test_update_domains_performance.F90 changed write(outunit,) to call mpp_error removed the four-tile mosaic test because it fails from messsage size problem, and was never used in the original test suite added optional tile_count argument to mpp_update_domains, mpp_start_domains, and mpp_complete_domains calls and loops over npes_per_tile around the calls removed update_domains_performance routine and test from test_mpp_domains.F90 testing mpp_alltoall testing write data test_mpp_broadcast unit test for mixed precision (#50) * modifies fms_test/mpp/test_mpp_broadcast.F90 for mixed precision * adds additional test for mpp_broadcast * updates base * removes misc file * cleanups trailing spaces Eric mp branch (#44) * Removed OVERLOAD_R4, Separated minmax mpp test, waiting to rebase with Miguels changes * Updated to only call test_level 0 of mpp_init * out with platform.h, in with platform_mod * Doxygen style comments and throwing errors when the result is not as expected * Tests now pass when only selecting appropriate pes * Refactored the tests and slimmed them down (no extraneous print statements) Co-authored-by: Eric Stofferahn <Eric.Stofferahn@noaa.gov> Add mixed precision (#52) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. * Adding inital version of test_mpp_sendrecv.F90. R4 version only! * Adding inital version of test_mpp_sendrecv.F90. R4 version only! * Switching to use platform_mod in test_mpp_gatscat.F90. * Added R8 versions of tests. Changed to use platform_mod. * Completed forst working version of test_mpp_sendrecv with R4 and R8 variables. * Removed and improved comments in test_mpp_sendrecv.F90. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> add mpp_update_domains_ad unit test with mixed-precision support (#42) * added test_mpp-update_domains_ad tests for 32-bit and 64-bit arrays on 1,2, and 16 pes fixed permissions for ./test_fms/mpp/test_mpp_update_domains_ad.sh removed test_halo_update_ad from test_mpp_domains.F90 change print to mpp_error(NOTE for messages about adjoint tests passing added mpp_error(FATAL, calls if adjoint tests fail add calls to mpp_domains_init and mpp_domains_exit removed the 16-pe test added debugging statements for sum values added test_mpp-update_domains_ad tests for 32-bit and 64-bit arrays on 1,2, and 16 pes fixed permissions for ./test_fms/mpp/test_mpp_update_domains_ad.sh removed test_halo_update_ad from test_mpp_domains.F90 change print to mpp_error(NOTE for messages about adjoint tests passing added mpp_error(FATAL, calls if adjoint tests fail add calls to mpp_domains_init and mpp_domains_exit removed the 16-pe test added debugging statements for sum values merged in add_mixed_precision updates added mpp_sync() calls to test_mpp_update_domains_ad.F90 made the mpp_error message for test failure a warning in the R4 test. The differences in the sums are small (O(10^6)), but I don't think this threshold is sufficient to classify it as neglible. I added notes that the threshold test failure is expected for the R4 case in the comments updated Makefile to match add_mixed_precision changed the threshold for the r4 adjoint tests to 1E-6 added skip to the 16-pe mpp_update_domains_test with a note to resolve mpp_clock_begin error in test_pe_subset added more detailed comments about R4 threshold * Removed the 16-pe test from test_mpp_update_domains.sh to avoid triggering the subset test moved todo note to test_mpp_update_domains.F90 * fixed test name in Makefile.am Co-authored-by: wrongkindofdoctor <Jessica.Liptak@lscsky50-d.gfdl.noaa.gov> Unit test for mpp_io reads and writes (#51) * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added unit test from other branch * rm OVERLOAD_R8 ifdefs from mpp * Made new file for test * Cleaned up types * Added r4 and r8 versions for mpp_read/write_compressed * Set MPP_TYPE_ of default functions to default reals and added R4 versions to overload * Added test to autotools, fixed compilation issues and split up test to just test non-mosaic r/w's * Switched to platform_mod kinds and added appending write test and some comments * Added R4 and R8 to output messages and took out platform.h * Renamed test to be more concise Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Co-authored-by: rem1776 <Ryan.Mulhall@lscsky50-d.gfdl.noaa.gov> Add test_io_mosaic_R4_R8 (#53) * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added unit test from other branch * rm OVERLOAD_R8 ifdefs from mpp * Made new file for test * Cleaned up types * Added r4 and r8 versions for mpp_read/write_compressed * Set MPP_TYPE_ of default functions to default reals and added R4 versions to overload * Added test to autotools, fixed compilation issues and split up test to just test non-mosaic r/w's * Switched to platform_mod kinds and added appending write test and some comments * Added R4 and R8 to output messages and took out platform.h * Renamed test to be more concise * Added test for mosaic reads and writes * Fixed test and also cleaned up and added comments * Requested changes Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Co-authored-by: rem1776 <Ryan.Mulhall@lscsky50-d.gfdl.noaa.gov> Platform swap (#54) * monin_obukhov (no mod required) * updated drifters * updated time_manager * updated block_control Replaced platform.h with platform_mod in test_mpp_io and diag_integral (#55) Co-authored-by: rem1776 <Ryan.Mulhall@lscsky50-d.gfdl.noaa.gov> added integers to minmax tests Replaced #include fms_platform.h to use platform_mod in fms_io, horiz_interp_conserve, and interpolator. (#60) swapped #include <fms_platform.h> with use :: platform_mod, and updat… (#62) * swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path Change mpirun to run_test in test_mpp_memutils.sh (#566) (#45) Change mpirun to run_test in test_mpp_memutils.sh (#566) Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. Add mixed precision (#34) (#40) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Add mixed precision (#41) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Mixed Precision: Test mpp_sum (#43) * adding test for mpp_sum * Updated test_mpp_sum to no longer get error * updated mpp_init call for test_mpp_sum Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Adds test in test_mpp for mixed sized integer checksums Adds test for distributed integer checksums Took out remaining no_8byte_int ifdefs from mpp Split test into its own file and updated autotools for it Removed unintentional changes to test_mpp.F90 Changed init and exit calls swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path added ${topbuilddir}/platform to all makefile.am files in FMS added platform_mod definitions to fms2_io array_utils.inc added use platform_mod to fms2_io_utils.F90 added platform_mod definitions to FMS modules added ${top_builddir}/platform to test_fms/field_manager and test_fms/time_interp Makefile.am files replaced iso_fortran kinds with platform_mod kinds in test_global_att.F90 and test_io_with_mask.F90 replaced iso fotran kinds with platform_mod kinds in test_fms/fms2_io/ocean_restart_file_test.inc test_atmosphere_io.F90, and test_fms2_io.F90. replaced iso_fortran definitions with platform_mod types in fms2_io repo and tests initialized temperature arrays in fms2_io tests * fixed typos and missing comments in mpp_domains.F90 and mpp_efp.F90 * fixed another typo Co-authored-by: wrongkindofdoctor <Jessica.Liptak@lscsky50-d.gfdl.noaa.gov> Update mpp_domains.F90 removed rogue domains_axis_spec Revert "Update mpp_domains.F90" This reverts commit 4498bc7f22aeab28476c83e7a186cd88540bbc36. Revert "swapped #include <fms_platform.h> with use :: platform_mod, and updat… (#62)" This reverts commit 79cd491013fbf23f9196cb84701bb77d6edd09f9. Revert "Replaced #include fms_platform.h to use platform_mod in fms_io, horiz_interp_conserve, and interpolator. (#60)" This reverts commit 92648a466e7dd7121bf4337d6ea64a82039b7610. swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path Change mpirun to run_test in test_mpp_memutils.sh (#566) (#45) Change mpirun to run_test in test_mpp_memutils.sh (#566) Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. Add mixed precision (#34) (#40) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Add mixed precision (#41) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Mixed Precision: Test mpp_sum (#43) * adding test for mpp_sum * Updated test_mpp_sum to no longer get error * updated mpp_init call for test_mpp_sum Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Adds test in test_mpp for mixed sized integer checksums Adds test for distributed integer checksums Took out remaining no_8byte_int ifdefs from mpp Split test into its own file and updated autotools for it Removed unintentional changes to test_mpp.F90 Changed init and exit calls swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path added ${topbuilddir}/platform to all makefile.am files in FMS added platform_mod definitions to fms2_io array_utils.inc added use platform_mod to fms2_io_utils.F90 added platform_mod definitions to FMS modules added ${top_builddir}/platform to test_fms/field_manager and test_fms/time_interp Makefile.am files replaced iso_fortran kinds with platform_mod kinds in test_global_att.F90 and test_io_with_mask.F90 replaced iso fotran kinds with platform_mod kinds in test_fms/fms2_io/ocean_restart_file_test.inc test_atmosphere_io.F90, and test_fms2_io.F90. replaced iso_fortran definitions with platform_mod types in fms2_io repo and tests initialized temperature arrays in fms2_io tests fixed typos and missing comments in mpp_domains.F90 and mpp_efp.F90 fixed another typo fixed typos added missing code that got eating in a merge back to fill_halo.F90 and test_mpp_gatscat.F90 adds i4/i8 to test_mpp_broadcast remove typos removes not-ready alltoall test fixes missing tests to Makefile.am Global min and max test for ints and reals (#66) * Initial commit, adds unit test for mpp_global_min/max * Finished integer test and check * Added tests for reals * Clean up * Bug fixes * Took out error notes for printing out each max and min and rearranged checks * Changed out some incorrect kinds * Added casts to random assignments * Added test level parameter for mpp_init Co-authored-by: rem1776 <Ryan.Mulhall@lscsky50-d.gfdl.noaa.gov> Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> add ints to test_mpp_update_domains (#68) * Revert "Replaced #include fms_platform.h to use platform_mod in fms_io, horiz_interp_conserve, and interpolator. (#60)" This reverts commit 92648a466e7dd7121bf4337d6ea64a82039b7610. * added i4 and i8 routines to fill_halo.F90, compare_data_checksums.F90, and test_mpp_update_domain made two modules test_mpp_update_domains_int.F90 and test_mpp_update_domains_real.F90 for integer and real routines made test_mpp_update_domains_main.F90 to initialize and finalize mpp routines and call tests updated makefile with new modules * removed an i8 #ifdef from and openMP region in mpp_domains_misc.inc made a separate interface for the integer checksum routines in test_mpp_update_domains_int.F90 so compiler can recognize them as unique routines removed the vector tests from test_mpp_update_domains_int.F90 because the vector interfaces for mpp_update_domains are not defined for integer types removed unused variables Revert "Replaced #include fms_platform.h to use platform_mod in fms_io, horiz_interp_conserve, and interpolator. (#60)" This reverts commit 92648a466e7dd7121bf4337d6ea64a82039b7610. added i4 and i8 routines to fill_halo.F90, compare_data_checksums.F90, and test_mpp_update_domain made two modules test_mpp_update_domains_int.F90 and test_mpp_update_domains_real.F90 for integer and real routines made test_mpp_update_domains_main.F90 to initialize and finalize mpp routines and call tests updated makefile with new modules removed an i8 #ifdef from and openMP region in mpp_domains_misc.inc made a separate interface for the integer checksum routines in test_mpp_update_domains_int.F90 so compiler can recognize them as unique routines removed the vector tests from test_mpp_update_domains_int.F90 because the vector interfaces for mpp_update_domains are not defined for integer types removed unused variables defined file dependencies for test_mpp_update_domains files in test_fms/mpp/Makefile.am removed unused module use statement from test_mpp_update_domains_main.F90 specified i,j,k as r8_kind and r4_kind in test_mpp_update_domains.int added the test_mpp_update_domains .mod files to the cleanup line in test_fms/mpp/Makefile.am removed line in test_fms/mpp/Makefile.am left over from rebase Global min and max test for ints and reals (#66) * Initial commit, adds unit test for mpp_global_min/max * Finished integer test and check * Added tests for reals * Clean up * Bug fixes * Took out error notes for printing out each max and min and rearranged checks * Changed out some incorrect kinds * Added casts to random assignments * Added test level parameter for mpp_init Co-authored-by: rem1776 <Ryan.Mulhall@lscsky50-d.gfdl.noaa.gov> Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> add ints to test_mpp_update_domains (#68) * Revert "Replaced #include fms_platform.h to use platform_mod in fms_io, horiz_interp_conserve, and interpolator. (#60)" This reverts commit 92648a466e7dd7121bf4337d6ea64a82039b7610. * added i4 and i8 routines to fill_halo.F90, compare_data_checksums.F90, and test_mpp_update_domain made two modules test_mpp_update_domains_int.F90 and test_mpp_update_domains_real.F90 for integer and real routines made test_mpp_update_domains_main.F90 to initialize and finalize mpp routines and call tests updated makefile with new modules * removed an i8 #ifdef from and openMP region in mpp_domains_misc.inc made a separate interface for the integer checksum routines in test_mpp_update_domains_int.F90 so compiler can recognize them as unique routines removed the vector tests from test_mpp_update_domains_int.F90 because the vector interfaces for mpp_update_domains are not defined for integer types removed unused variables Revert "Replaced #include fms_platform.h to use platform_mod in fms_io, horiz_interp_conserve, and interpolator. (#60)" This reverts commit 92648a466e7dd7121bf4337d6ea64a82039b7610. added i4 and i8 routines to fill_halo.F90, compare_data_checksums.F90, and test_mpp_update_domain made two modules test_mpp_update_domains_int.F90 and test_mpp_update_domains_real.F90 for integer and real routines made test_mpp_update_domains_main.F90 to initialize and finalize mpp routines and call tests updated makefile with new modules removed an i8 #ifdef from and openMP region in mpp_domains_misc.inc made a separate interface for the integer checksum routines in test_mpp_update_domains_int.F90 so compiler can recognize them as unique routines removed the vector tests from test_mpp_update_domains_int.F90 because the vector interfaces for mpp_update_domains are not defined for integer types removed unused variables defined file dependencies for test_mpp_update_domains files in test_fms/mpp/Makefile.am removed unused module use statement from test_mpp_update_domains_main.F90 specified i,j,k as r8_kind and r4_kind in test_mpp_update_domains.int added the test_mpp_update_domains .mod files to the cleanup line in test_fms/mpp/Makefile.am removed line in test_fms/mpp/Makefile.am left over from rebase Switch to use compare_data_checksum.mod in test_mpp_domains. Changed use of _ALLOCATE in (#69) data_override.F90. Added "use platform_mod" in xgrid.F90, line 5606. added module with public interface for integer checksum routines. A separate module is required because the compiler cannot distinguish the checksum interfaces for the real and integer data arrays defined with the portable kinds when they are in the same module (#70) changed test_mpp_update_domains_int.F90 to reference the integer checksum interface in compare_data_checksums_int.F90 extended the non-vector tests in test_update_domains_performance.F90 to work on 32-bit and 64-bit integer arrays. These tests verify functionality of mpp_start_update_domains and mpp_complete_update_domains with different data types. updated test_mpp_update_domains and test_mpp_update_domains_performance in test_fms/mpp/makefile.am re-inserted the platform directory in the AM_CPPFLAGS definitions in horiz_interp/Makefile.am add integer subroutines to test_mpp_sendrecv.F90 (#72) * added subroutines to test mpp_send/mpp_recv with 2D and 3D 32-bit and 64-bit integer arrays to test_mpp_sendrecv.F90 * added real-valued factors to data array population loops in the R4 and R8 tests for additional insurance that the data are stored as the correct types * removed debugging print statements Co-authored-by: wrongkindofdoctor <Jessica.Liptak@lscsky50-d.gfdl.noaa.gov> Co-authored-by: wrongkindofdoctor <> removed executables and namelist files that were accidentally included in a a previous merge Add mixed precision (#73) * Added R4 and R8 versions of function test_update_nest_domains in test_mpp_domains.F90. Also extracted some utility functions to file test_domains_utility_mod.F90 * Added arguments nx, ny to function fill_nest_data. * Added comment for posterity. * Removed some comments in test_mpp_domains.F90 Add i4/i8 tests for mpp_redistribute (#74) * Simplified test to use complete pe lists * Adds test for overlapping pelists * Finished up adding in tests and clean up * Renamed test file * More clean up Co-authored-by: rem1776 <Ryan.Mulhall@lscamd50-d.gfdl.noaa.gov> replaced $(OBJEXT) with .lo in test_fms/fms2_io and test_fms/mpp Makefile.am (#76) added $(MODFILES) definitions and appropriate autotools macros to build supplementary .mod files as headers and link them to the module files that use them replaced individual .mod files with *.mod in the test_fms/mpp Makefile.am cleanup section Add test_mpp_transmit (#75) * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Add mixed precision (#34) (#40) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mp…
author Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> 1597932481 -0400 committer wrongkindofdoctor <20195932+wrongkindofdoctor@users.noreply.github.com> 1608215117 -0500 Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. Add mixed precision (#34) (#40) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> modifies fms_test/mpp/test_mpp_broadcast.F90 for mixed precision Add mixed precision (#41) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> parent 140430d053f0c9ed967e50023bcc676b7b0fe9db author laurenchilutti <60401591+laurenchilutti@users.noreply.github.com> 1599082523 -0400 committer wrongkindofdoctor <20195932+wrongkindofdoctor@users.noreply.github.com> 1602615798 -0400 Mixed Precision: Test mpp_sum (#43) * adding test for mpp_sum * Updated test_mpp_sum to no longer get error * updated mpp_init call for test_mpp_sum Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> adds additional test for mpp_broadcast updates base removes misc file cleanups trailing spaces removed repeated line added test_update_domains_performance fortran program and launch script that tests mpp_start_update_domains and mpp_complete_update_domains on real 32-bit and 64-bit arrays, and compares the results to the answer returned by mpp_update_domains. The test expands the routine that was originally in test_mpp_domains (#49) added calls to mpp_domains_init and mpp_domains_exit to test_mpp_update_domains updated the test_fms/mpp makefile updated Makefile.am to include platform directory add platform.mod definitions to compare_data_checksums.F90,fill_halo.F90, test_mpp_update_domains.F90 , test_update_domains_performance.F90 added required subroutines to test_update_domains_performance.F90 changed write(outunit,) to call mpp_error removed the four-tile mosaic test because it fails from messsage size problem, and was never used in the original test suite added optional tile_count argument to mpp_update_domains, mpp_start_domains, and mpp_complete_domains calls and loops over npes_per_tile around the calls removed update_domains_performance routine and test from test_mpp_domains.F90 testing mpp_alltoall testing write data test_mpp_broadcast unit test for mixed precision (#50) * modifies fms_test/mpp/test_mpp_broadcast.F90 for mixed precision * adds additional test for mpp_broadcast * updates base * removes misc file * cleanups trailing spaces Eric mp branch (#44) * Removed OVERLOAD_R4, Separated minmax mpp test, waiting to rebase with Miguels changes * Updated to only call test_level 0 of mpp_init * out with platform.h, in with platform_mod * Doxygen style comments and throwing errors when the result is not as expected * Tests now pass when only selecting appropriate pes * Refactored the tests and slimmed them down (no extraneous print statements) Co-authored-by: Eric Stofferahn <Eric.Stofferahn@noaa.gov> Add mixed precision (#52) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. * Adding inital version of test_mpp_sendrecv.F90. R4 version only! * Adding inital version of test_mpp_sendrecv.F90. R4 version only! * Switching to use platform_mod in test_mpp_gatscat.F90. * Added R8 versions of tests. Changed to use platform_mod. * Completed forst working version of test_mpp_sendrecv with R4 and R8 variables. * Removed and improved comments in test_mpp_sendrecv.F90. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> add mpp_update_domains_ad unit test with mixed-precision support (#42) * added test_mpp-update_domains_ad tests for 32-bit and 64-bit arrays on 1,2, and 16 pes fixed permissions for ./test_fms/mpp/test_mpp_update_domains_ad.sh removed test_halo_update_ad from test_mpp_domains.F90 change print to mpp_error(NOTE for messages about adjoint tests passing added mpp_error(FATAL, calls if adjoint tests fail add calls to mpp_domains_init and mpp_domains_exit removed the 16-pe test added debugging statements for sum values added test_mpp-update_domains_ad tests for 32-bit and 64-bit arrays on 1,2, and 16 pes fixed permissions for ./test_fms/mpp/test_mpp_update_domains_ad.sh removed test_halo_update_ad from test_mpp_domains.F90 change print to mpp_error(NOTE for messages about adjoint tests passing added mpp_error(FATAL, calls if adjoint tests fail add calls to mpp_domains_init and mpp_domains_exit removed the 16-pe test added debugging statements for sum values merged in add_mixed_precision updates added mpp_sync() calls to test_mpp_update_domains_ad.F90 made the mpp_error message for test failure a warning in the R4 test. The differences in the sums are small (O(10^6)), but I don't think this threshold is sufficient to classify it as neglible. I added notes that the threshold test failure is expected for the R4 case in the comments updated Makefile to match add_mixed_precision changed the threshold for the r4 adjoint tests to 1E-6 added skip to the 16-pe mpp_update_domains_test with a note to resolve mpp_clock_begin error in test_pe_subset added more detailed comments about R4 threshold * Removed the 16-pe test from test_mpp_update_domains.sh to avoid triggering the subset test moved todo note to test_mpp_update_domains.F90 * fixed test name in Makefile.am Co-authored-by: wrongkindofdoctor <Jessica.Liptak@lscsky50-d.gfdl.noaa.gov> Unit test for mpp_io reads and writes (#51) * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added unit test from other branch * rm OVERLOAD_R8 ifdefs from mpp * Made new file for test * Cleaned up types * Added r4 and r8 versions for mpp_read/write_compressed * Set MPP_TYPE_ of default functions to default reals and added R4 versions to overload * Added test to autotools, fixed compilation issues and split up test to just test non-mosaic r/w's * Switched to platform_mod kinds and added appending write test and some comments * Added R4 and R8 to output messages and took out platform.h * Renamed test to be more concise Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Co-authored-by: rem1776 <Ryan.Mulhall@lscsky50-d.gfdl.noaa.gov> Add test_io_mosaic_R4_R8 (#53) * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added unit test from other branch * rm OVERLOAD_R8 ifdefs from mpp * Made new file for test * Cleaned up types * Added r4 and r8 versions for mpp_read/write_compressed * Set MPP_TYPE_ of default functions to default reals and added R4 versions to overload * Added test to autotools, fixed compilation issues and split up test to just test non-mosaic r/w's * Switched to platform_mod kinds and added appending write test and some comments * Added R4 and R8 to output messages and took out platform.h * Renamed test to be more concise * Added test for mosaic reads and writes * Fixed test and also cleaned up and added comments * Requested changes Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Co-authored-by: rem1776 <Ryan.Mulhall@lscsky50-d.gfdl.noaa.gov> Platform swap (#54) * monin_obukhov (no mod required) * updated drifters * updated time_manager * updated block_control Replaced platform.h with platform_mod in test_mpp_io and diag_integral (#55) Co-authored-by: rem1776 <Ryan.Mulhall@lscsky50-d.gfdl.noaa.gov> added integers to minmax tests Replaced #include fms_platform.h to use platform_mod in fms_io, horiz_interp_conserve, and interpolator. (#60) swapped #include <fms_platform.h> with use :: platform_mod, and updat… (#62) * swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path Change mpirun to run_test in test_mpp_memutils.sh (#566) (#45) Change mpirun to run_test in test_mpp_memutils.sh (#566) Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. Add mixed precision (#34) (#40) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Add mixed precision (#41) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Mixed Precision: Test mpp_sum (#43) * adding test for mpp_sum * Updated test_mpp_sum to no longer get error * updated mpp_init call for test_mpp_sum Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Adds test in test_mpp for mixed sized integer checksums Adds test for distributed integer checksums Took out remaining no_8byte_int ifdefs from mpp Split test into its own file and updated autotools for it Removed unintentional changes to test_mpp.F90 Changed init and exit calls swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path added ${topbuilddir}/platform to all makefile.am files in FMS added platform_mod definitions to fms2_io array_utils.inc added use platform_mod to fms2_io_utils.F90 added platform_mod definitions to FMS modules added ${top_builddir}/platform to test_fms/field_manager and test_fms/time_interp Makefile.am files replaced iso_fortran kinds with platform_mod kinds in test_global_att.F90 and test_io_with_mask.F90 replaced iso fotran kinds with platform_mod kinds in test_fms/fms2_io/ocean_restart_file_test.inc test_atmosphere_io.F90, and test_fms2_io.F90. replaced iso_fortran definitions with platform_mod types in fms2_io repo and tests initialized temperature arrays in fms2_io tests * fixed typos and missing comments in mpp_domains.F90 and mpp_efp.F90 * fixed another typo Co-authored-by: wrongkindofdoctor <Jessica.Liptak@lscsky50-d.gfdl.noaa.gov> Update mpp_domains.F90 removed rogue domains_axis_spec Revert "Update mpp_domains.F90" This reverts commit 4498bc7f22aeab28476c83e7a186cd88540bbc36. Revert "swapped #include <fms_platform.h> with use :: platform_mod, and updat… (#62)" This reverts commit 79cd491013fbf23f9196cb84701bb77d6edd09f9. Revert "Replaced #include fms_platform.h to use platform_mod in fms_io, horiz_interp_conserve, and interpolator. (#60)" This reverts commit 92648a466e7dd7121bf4337d6ea64a82039b7610. swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path Change mpirun to run_test in test_mpp_memutils.sh (#566) (#45) Change mpirun to run_test in test_mpp_memutils.sh (#566) Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. Add mixed precision (#34) (#40) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Add mixed precision (#41) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Mixed Precision: Test mpp_sum (#43) * adding test for mpp_sum * Updated test_mpp_sum to no longer get error * updated mpp_init call for test_mpp_sum Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Adds test in test_mpp for mixed sized integer checksums Adds test for distributed integer checksums Took out remaining no_8byte_int ifdefs from mpp Split test into its own file and updated autotools for it Removed unintentional changes to test_mpp.F90 Changed init and exit calls swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path added ${topbuilddir}/platform to all makefile.am files in FMS added platform_mod definitions to fms2_io array_utils.inc added use platform_mod to fms2_io_utils.F90 added platform_mod definitions to FMS modules added ${top_builddir}/platform to test_fms/field_manager and test_fms/time_interp Makefile.am files replaced iso_fortran kinds with platform_mod kinds in test_global_att.F90 and test_io_with_mask.F90 replaced iso fotran kinds with platform_mod kinds in test_fms/fms2_io/ocean_restart_file_test.inc test_atmosphere_io.F90, and test_fms2_io.F90. replaced iso_fortran definitions with platform_mod types in fms2_io repo and tests initialized temperature arrays in fms2_io tests fixed typos and missing comments in mpp_domains.F90 and mpp_efp.F90 fixed another typo fixed typos added missing code that got eating in a merge back to fill_halo.F90 and test_mpp_gatscat.F90 adds i4/i8 to test_mpp_broadcast remove typos removes not-ready alltoall test fixes missing tests to Makefile.am Global min and max test for ints and reals (#66) * Initial commit, adds unit test for mpp_global_min/max * Finished integer test and check * Added tests for reals * Clean up * Bug fixes * Took out error notes for printing out each max and min and rearranged checks * Changed out some incorrect kinds * Added casts to random assignments * Added test level parameter for mpp_init Co-authored-by: rem1776 <Ryan.Mulhall@lscsky50-d.gfdl.noaa.gov> Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> add ints to test_mpp_update_domains (#68) * Revert "Replaced #include fms_platform.h to use platform_mod in fms_io, horiz_interp_conserve, and interpolator. (#60)" This reverts commit 92648a466e7dd7121bf4337d6ea64a82039b7610. * added i4 and i8 routines to fill_halo.F90, compare_data_checksums.F90, and test_mpp_update_domain made two modules test_mpp_update_domains_int.F90 and test_mpp_update_domains_real.F90 for integer and real routines made test_mpp_update_domains_main.F90 to initialize and finalize mpp routines and call tests updated makefile with new modules * removed an i8 #ifdef from and openMP region in mpp_domains_misc.inc made a separate interface for the integer checksum routines in test_mpp_update_domains_int.F90 so compiler can recognize them as unique routines removed the vector tests from test_mpp_update_domains_int.F90 because the vector interfaces for mpp_update_domains are not defined for integer types removed unused variables Revert "Replaced #include fms_platform.h to use platform_mod in fms_io, horiz_interp_conserve, and interpolator. (#60)" This reverts commit 92648a466e7dd7121bf4337d6ea64a82039b7610. added i4 and i8 routines to fill_halo.F90, compare_data_checksums.F90, and test_mpp_update_domain made two modules test_mpp_update_domains_int.F90 and test_mpp_update_domains_real.F90 for integer and real routines made test_mpp_update_domains_main.F90 to initialize and finalize mpp routines and call tests updated makefile with new modules removed an i8 #ifdef from and openMP region in mpp_domains_misc.inc made a separate interface for the integer checksum routines in test_mpp_update_domains_int.F90 so compiler can recognize them as unique routines removed the vector tests from test_mpp_update_domains_int.F90 because the vector interfaces for mpp_update_domains are not defined for integer types removed unused variables defined file dependencies for test_mpp_update_domains files in test_fms/mpp/Makefile.am removed unused module use statement from test_mpp_update_domains_main.F90 specified i,j,k as r8_kind and r4_kind in test_mpp_update_domains.int added the test_mpp_update_domains .mod files to the cleanup line in test_fms/mpp/Makefile.am removed line in test_fms/mpp/Makefile.am left over from rebase Global min and max test for ints and reals (#66) * Initial commit, adds unit test for mpp_global_min/max * Finished integer test and check * Added tests for reals * Clean up * Bug fixes * Took out error notes for printing out each max and min and rearranged checks * Changed out some incorrect kinds * Added casts to random assignments * Added test level parameter for mpp_init Co-authored-by: rem1776 <Ryan.Mulhall@lscsky50-d.gfdl.noaa.gov> Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> add ints to test_mpp_update_domains (#68) * Revert "Replaced #include fms_platform.h to use platform_mod in fms_io, horiz_interp_conserve, and interpolator. (#60)" This reverts commit 92648a466e7dd7121bf4337d6ea64a82039b7610. * added i4 and i8 routines to fill_halo.F90, compare_data_checksums.F90, and test_mpp_update_domain made two modules test_mpp_update_domains_int.F90 and test_mpp_update_domains_real.F90 for integer and real routines made test_mpp_update_domains_main.F90 to initialize and finalize mpp routines and call tests updated makefile with new modules * removed an i8 #ifdef from and openMP region in mpp_domains_misc.inc made a separate interface for the integer checksum routines in test_mpp_update_domains_int.F90 so compiler can recognize them as unique routines removed the vector tests from test_mpp_update_domains_int.F90 because the vector interfaces for mpp_update_domains are not defined for integer types removed unused variables Revert "Replaced #include fms_platform.h to use platform_mod in fms_io, horiz_interp_conserve, and interpolator. (#60)" This reverts commit 92648a466e7dd7121bf4337d6ea64a82039b7610. added i4 and i8 routines to fill_halo.F90, compare_data_checksums.F90, and test_mpp_update_domain made two modules test_mpp_update_domains_int.F90 and test_mpp_update_domains_real.F90 for integer and real routines made test_mpp_update_domains_main.F90 to initialize and finalize mpp routines and call tests updated makefile with new modules removed an i8 #ifdef from and openMP region in mpp_domains_misc.inc made a separate interface for the integer checksum routines in test_mpp_update_domains_int.F90 so compiler can recognize them as unique routines removed the vector tests from test_mpp_update_domains_int.F90 because the vector interfaces for mpp_update_domains are not defined for integer types removed unused variables defined file dependencies for test_mpp_update_domains files in test_fms/mpp/Makefile.am removed unused module use statement from test_mpp_update_domains_main.F90 specified i,j,k as r8_kind and r4_kind in test_mpp_update_domains.int added the test_mpp_update_domains .mod files to the cleanup line in test_fms/mpp/Makefile.am removed line in test_fms/mpp/Makefile.am left over from rebase Switch to use compare_data_checksum.mod in test_mpp_domains. Changed use of _ALLOCATE in (#69) data_override.F90. Added "use platform_mod" in xgrid.F90, line 5606. added module with public interface for integer checksum routines. A separate module is required because the compiler cannot distinguish the checksum interfaces for the real and integer data arrays defined with the portable kinds when they are in the same module (#70) changed test_mpp_update_domains_int.F90 to reference the integer checksum interface in compare_data_checksums_int.F90 extended the non-vector tests in test_update_domains_performance.F90 to work on 32-bit and 64-bit integer arrays. These tests verify functionality of mpp_start_update_domains and mpp_complete_update_domains with different data types. updated test_mpp_update_domains and test_mpp_update_domains_performance in test_fms/mpp/makefile.am re-inserted the platform directory in the AM_CPPFLAGS definitions in horiz_interp/Makefile.am add integer subroutines to test_mpp_sendrecv.F90 (#72) * added subroutines to test mpp_send/mpp_recv with 2D and 3D 32-bit and 64-bit integer arrays to test_mpp_sendrecv.F90 * added real-valued factors to data array population loops in the R4 and R8 tests for additional insurance that the data are stored as the correct types * removed debugging print statements Co-authored-by: wrongkindofdoctor <Jessica.Liptak@lscsky50-d.gfdl.noaa.gov> Co-authored-by: wrongkindofdoctor <> removed executables and namelist files that were accidentally included in a a previous merge Add mixed precision (#73) * Added R4 and R8 versions of function test_update_nest_domains in test_mpp_domains.F90. Also extracted some utility functions to file test_domains_utility_mod.F90 * Added arguments nx, ny to function fill_nest_data. * Added comment for posterity. * Removed some comments in test_mpp_domains.F90 Add i4/i8 tests for mpp_redistribute (#74) * Simplified test to use complete pe lists * Adds test for overlapping pelists * Finished up adding in tests and clean up * Renamed test file * More clean up Co-authored-by: rem1776 <Ryan.Mulhall@lscamd50-d.gfdl.noaa.gov> replaced $(OBJEXT) with .lo in test_fms/fms2_io and test_fms/mpp Makefile.am (#76) added $(MODFILES) definitions and appropriate autotools macros to build supplementary .mod files as headers and link them to the module files that use them replaced individual .mod files with *.mod in the test_fms/mpp Makefile.am cleanup section Add test_mpp_transmit (#75) * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Add mixed precision (#34) (#40) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mp…
* Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Add mixed precision (#34) (#40) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> * Add mixed precision (#41) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> * Mixed Precision: Test mpp_sum (#43) * adding test for mpp_sum * Updated test_mpp_sum to no longer get error * updated mpp_init call for test_mpp_sum Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> * Rebase onto master (#46) * Change mpirun to run_test in test_mpp_memutils.sh (#566) (#45) Change mpirun to run_test in test_mpp_memutils.sh (#566) * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. Add mixed precision (#34) (#40) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Add mixed precision (#41) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Mixed Precision: Test mpp_sum (#43) * adding test for mpp_sum * Updated test_mpp_sum to no longer get error * updated mpp_init call for test_mpp_sum Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> * Added missing \'s * removed repeated line * added test_update_domains_performance fortran program and launch script that tests mpp_start_update_domains and mpp_complete_update_domains on real 32-bit and 64-bit arrays, and compares the results to the answer returned by mpp_update_domains. The test expands the routine that was originally in test_mpp_domains (#49) added calls to mpp_domains_init and mpp_domains_exit to test_mpp_update_domains updated the test_fms/mpp makefile updated Makefile.am to include platform directory add platform.mod definitions to compare_data_checksums.F90,fill_halo.F90, test_mpp_update_domains.F90 , test_update_domains_performance.F90 added required subroutines to test_update_domains_performance.F90 changed write(outunit,) to call mpp_error removed the four-tile mosaic test because it fails from messsage size problem, and was never used in the original test suite added optional tile_count argument to mpp_update_domains, mpp_start_domains, and mpp_complete_domains calls and loops over npes_per_tile around the calls removed update_domains_performance routine and test from test_mpp_domains.F90 * test_mpp_broadcast unit test for mixed precision (#50) * modifies fms_test/mpp/test_mpp_broadcast.F90 for mixed precision * adds additional test for mpp_broadcast * updates base * removes misc file * cleanups trailing spaces * Eric mp branch (#44) * Removed OVERLOAD_R4, Separated minmax mpp test, waiting to rebase with Miguels changes * Updated to only call test_level 0 of mpp_init * out with platform.h, in with platform_mod * Doxygen style comments and throwing errors when the result is not as expected * Tests now pass when only selecting appropriate pes * Refactored the tests and slimmed them down (no extraneous print statements) Co-authored-by: Eric Stofferahn <Eric.Stofferahn@noaa.gov> * Add mixed precision (#52) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. * Adding inital version of test_mpp_sendrecv.F90. R4 version only! * Adding inital version of test_mpp_sendrecv.F90. R4 version only! * Switching to use platform_mod in test_mpp_gatscat.F90. * Added R8 versions of tests. Changed to use platform_mod. * Completed forst working version of test_mpp_sendrecv with R4 and R8 variables. * Removed and improved comments in test_mpp_sendrecv.F90. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> * add mpp_update_domains_ad unit test with mixed-precision support (#42) * added test_mpp-update_domains_ad tests for 32-bit and 64-bit arrays on 1,2, and 16 pes fixed permissions for ./test_fms/mpp/test_mpp_update_domains_ad.sh removed test_halo_update_ad from test_mpp_domains.F90 change print to mpp_error(NOTE for messages about adjoint tests passing added mpp_error(FATAL, calls if adjoint tests fail add calls to mpp_domains_init and mpp_domains_exit removed the 16-pe test added debugging statements for sum values added test_mpp-update_domains_ad tests for 32-bit and 64-bit arrays on 1,2, and 16 pes fixed permissions for ./test_fms/mpp/test_mpp_update_domains_ad.sh removed test_halo_update_ad from test_mpp_domains.F90 change print to mpp_error(NOTE for messages about adjoint tests passing added mpp_error(FATAL, calls if adjoint tests fail add calls to mpp_domains_init and mpp_domains_exit removed the 16-pe test added debugging statements for sum values merged in add_mixed_precision updates added mpp_sync() calls to test_mpp_update_domains_ad.F90 made the mpp_error message for test failure a warning in the R4 test. The differences in the sums are small (O(10^6)), but I don't think this threshold is sufficient to classify it as neglible. I added notes that the threshold test failure is expected for the R4 case in the comments updated Makefile to match add_mixed_precision changed the threshold for the r4 adjoint tests to 1E-6 added skip to the 16-pe mpp_update_domains_test with a note to resolve mpp_clock_begin error in test_pe_subset added more detailed comments about R4 threshold * Removed the 16-pe test from test_mpp_update_domains.sh to avoid triggering the subset test moved todo note to test_mpp_update_domains.F90 * fixed test name in Makefile.am Co-authored-by: wrongkindofdoctor <Jessica.Liptak@lscsky50-d.gfdl.noaa.gov> * Unit test for mpp_io reads and writes (#51) * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added unit test from other branch * rm OVERLOAD_R8 ifdefs from mpp * Made new file for test * Cleaned up types * Added r4 and r8 versions for mpp_read/write_compressed * Set MPP_TYPE_ of default functions to default reals and added R4 versions to overload * Added test to autotools, fixed compilation issues and split up test to just test non-mosaic r/w's * Switched to platform_mod kinds and added appending write test and some comments * Added R4 and R8 to output messages and took out platform.h * Renamed test to be more concise Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Co-authored-by: rem1776 <Ryan.Mulhall@lscsky50-d.gfdl.noaa.gov> * Add test_io_mosaic_R4_R8 (#53) * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added unit test from other branch * rm OVERLOAD_R8 ifdefs from mpp * Made new file for test * Cleaned up types * Added r4 and r8 versions for mpp_read/write_compressed * Set MPP_TYPE_ of default functions to default reals and added R4 versions to overload * Added test to autotools, fixed compilation issues and split up test to just test non-mosaic r/w's * Switched to platform_mod kinds and added appending write test and some comments * Added R4 and R8 to output messages and took out platform.h * Renamed test to be more concise * Added test for mosaic reads and writes * Fixed test and also cleaned up and added comments * Requested changes Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Co-authored-by: rem1776 <Ryan.Mulhall@lscsky50-d.gfdl.noaa.gov> * Created test_mpp_transmit and removed the test from test_mpp.F90. Updates test_mpp_sum to replace include platform.h and replace mpp_exit. * Platform swap (#54) * monin_obukhov (no mod required) * updated drifters * updated time_manager * updated block_control * Replaced platform.h with platform_mod in test_mpp_io and diag_integral (#55) Co-authored-by: rem1776 <Ryan.Mulhall@lscsky50-d.gfdl.noaa.gov> * added integers to minmax tests * Replaced #include fms_platform.h to use platform_mod in fms_io, horiz_interp_conserve, and interpolator. (#60) * swapped #include <fms_platform.h> with use :: platform_mod, and updat… (#62) * swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path Change mpirun to run_test in test_mpp_memutils.sh (#566) (#45) Change mpirun to run_test in test_mpp_memutils.sh (#566) Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. Add mixed precision (#34) (#40) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Add mixed precision (#41) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Mixed Precision: Test mpp_sum (#43) * adding test for mpp_sum * Updated test_mpp_sum to no longer get error * updated mpp_init call for test_mpp_sum Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Adds test in test_mpp for mixed sized integer checksums Adds test for distributed integer checksums Took out remaining no_8byte_int ifdefs from mpp Split test into its own file and updated autotools for it Removed unintentional changes to test_mpp.F90 Changed init and exit calls swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path added ${topbuilddir}/platform to all makefile.am files in FMS added platform_mod definitions to fms2_io array_utils.inc added use platform_mod to fms2_io_utils.F90 added platform_mod definitions to FMS modules added ${top_builddir}/platform to test_fms/field_manager and test_fms/time_interp Makefile.am files replaced iso_fortran kinds with platform_mod kinds in test_global_att.F90 and test_io_with_mask.F90 replaced iso fotran kinds with platform_mod kinds in test_fms/fms2_io/ocean_restart_file_test.inc test_atmosphere_io.F90, and test_fms2_io.F90. replaced iso_fortran definitions with platform_mod types in fms2_io repo and tests initialized temperature arrays in fms2_io tests * fixed typos and missing comments in mpp_domains.F90 and mpp_efp.F90 * fixed another typo Co-authored-by: wrongkindofdoctor <Jessica.Liptak@lscsky50-d.gfdl.noaa.gov> * Update mpp_domains.F90 removed rogue domains_axis_spec * Revert "Update mpp_domains.F90" This reverts commit 8f654ff6a27ef2833a7832e29ce117ea51c9d684 [formerly b2d3914f2db411834bb0d381a00691293d0ea9ba]. * Revert "swapped #include <fms_platform.h> with use :: platform_mod, and updat… (#62)" This reverts commit d849cf61f966321bdb2a19076ab3d917fa82b97a [formerly 35d617011a6b123d21f6320d2c990ab43c2325f9]. * Revert "Replaced #include fms_platform.h to use platform_mod in fms_io, horiz_interp_conserve, and interpolator. (#60)" This reverts commit 2da93f30ab218d5c54058b667a14b117b87bf7fe [formerly 6a8d70cba1bc5c2a2d4521cc85950935ed4a3c10]. * swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path Change mpirun to run_test in test_mpp_memutils.sh (#566) (#45) Change mpirun to run_test in test_mpp_memutils.sh (#566) Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. Add mixed precision (#34) (#40) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Add mixed precision (#41) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Mixed Precision: Test mpp_sum (#43) * adding test for mpp_sum * Updated test_mpp_sum to no longer get error * updated mpp_init call for test_mpp_sum Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Adds test in test_mpp for mixed sized integer checksums Adds test for distributed integer checksums Took out remaining no_8byte_int ifdefs from mpp Split test into its own file and updated autotools for it Removed unintentional changes to test_mpp.F90 Changed init and exit calls swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path added ${topbuilddir}/platform to all makefile.am files in FMS added platform_mod definitions to fms2_io array_utils.inc added use platform_mod to fms2_io_utils.F90 added platform_mod definitions to FMS modules added ${top_builddir}/platform to test_fms/field_manager and test_fms/time_interp Makefile.am files replaced iso_fortran kinds with platform_mod kinds in test_global_att.F90 and test_io_with_mask.F90 replaced iso fotran kinds with platform_mod kinds in test_fms/fms2_io/ocean_restart_file_test.inc test_atmosphere_io.F90, and test_fms2_io.F90. replaced iso_fortran definitions with platform_mod types in fms2_io repo and tests initialized temperature arrays in fms2_io tests fixed typos and missing comments in mpp_domains.F90 and mpp_efp.F90 fixed another typo fixed typos added missing code that got eating in a merge back to fill_halo.F90 and test_mpp_gatscat.F90 * correcting merge on test_fms/mpp/Makefile.am * correcting one more error in merge * updating test_mpp_transmit to include integer testing, null_pe testing, and all_pes testing. * updating integer definitions as per comments on PR * updating mpp_init call * changed dimensions of test variables, initilizing the b variable when used, updated everything to account for the new dimensions Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Co-authored-by: MiKyung Lee <58964324+mlee03@users.noreply.github.com> Co-authored-by: Eric <7784797+GFDL-Eric@users.noreply.github.com> Co-authored-by: Eric Stofferahn <Eric.Stofferahn@noaa.gov> Co-authored-by: wrongkindofdoctor <Jessica.Liptak@lscsky50-d.gfdl.noaa.gov> Co-authored-by: rem1776 <35538242+rem1776@users.noreply.github.com> Co-authored-by: rem1776 <Ryan.Mulhall@lscsky50-d.gfdl.noaa.gov> Former-commit-id: 697ade9dfeb29f613183dcdb0d1ed8e443ac0dc3
* monin_obukhov (no mod required) * updated drifters * updated time_manager * updated block_control Former-commit-id: 494e2a4eed503cd4bb0aa1a3ec9f6fd5acd7b18a
* Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Add mixed precision (#34) (#40) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> * Add mixed precision (#41) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> * Mixed Precision: Test mpp_sum (#43) * adding test for mpp_sum * Updated test_mpp_sum to no longer get error * updated mpp_init call for test_mpp_sum Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> * Rebase onto master (#46) * Change mpirun to run_test in test_mpp_memutils.sh (#566) (#45) Change mpirun to run_test in test_mpp_memutils.sh (#566) * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. Add mixed precision (#34) (#40) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Add mixed precision (#41) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Mixed Precision: Test mpp_sum (#43) * adding test for mpp_sum * Updated test_mpp_sum to no longer get error * updated mpp_init call for test_mpp_sum Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> * Added missing \'s * removed repeated line * added test_update_domains_performance fortran program and launch script that tests mpp_start_update_domains and mpp_complete_update_domains on real 32-bit and 64-bit arrays, and compares the results to the answer returned by mpp_update_domains. The test expands the routine that was originally in test_mpp_domains (#49) added calls to mpp_domains_init and mpp_domains_exit to test_mpp_update_domains updated the test_fms/mpp makefile updated Makefile.am to include platform directory add platform.mod definitions to compare_data_checksums.F90,fill_halo.F90, test_mpp_update_domains.F90 , test_update_domains_performance.F90 added required subroutines to test_update_domains_performance.F90 changed write(outunit,) to call mpp_error removed the four-tile mosaic test because it fails from messsage size problem, and was never used in the original test suite added optional tile_count argument to mpp_update_domains, mpp_start_domains, and mpp_complete_domains calls and loops over npes_per_tile around the calls removed update_domains_performance routine and test from test_mpp_domains.F90 * test_mpp_broadcast unit test for mixed precision (#50) * modifies fms_test/mpp/test_mpp_broadcast.F90 for mixed precision * adds additional test for mpp_broadcast * updates base * removes misc file * cleanups trailing spaces * Eric mp branch (#44) * Removed OVERLOAD_R4, Separated minmax mpp test, waiting to rebase with Miguels changes * Updated to only call test_level 0 of mpp_init * out with platform.h, in with platform_mod * Doxygen style comments and throwing errors when the result is not as expected * Tests now pass when only selecting appropriate pes * Refactored the tests and slimmed them down (no extraneous print statements) Co-authored-by: Eric Stofferahn <Eric.Stofferahn@noaa.gov> * Add mixed precision (#52) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. * Adding inital version of test_mpp_sendrecv.F90. R4 version only! * Adding inital version of test_mpp_sendrecv.F90. R4 version only! * Switching to use platform_mod in test_mpp_gatscat.F90. * Added R8 versions of tests. Changed to use platform_mod. * Completed forst working version of test_mpp_sendrecv with R4 and R8 variables. * Removed and improved comments in test_mpp_sendrecv.F90. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> * add mpp_update_domains_ad unit test with mixed-precision support (#42) * added test_mpp-update_domains_ad tests for 32-bit and 64-bit arrays on 1,2, and 16 pes fixed permissions for ./test_fms/mpp/test_mpp_update_domains_ad.sh removed test_halo_update_ad from test_mpp_domains.F90 change print to mpp_error(NOTE for messages about adjoint tests passing added mpp_error(FATAL, calls if adjoint tests fail add calls to mpp_domains_init and mpp_domains_exit removed the 16-pe test added debugging statements for sum values added test_mpp-update_domains_ad tests for 32-bit and 64-bit arrays on 1,2, and 16 pes fixed permissions for ./test_fms/mpp/test_mpp_update_domains_ad.sh removed test_halo_update_ad from test_mpp_domains.F90 change print to mpp_error(NOTE for messages about adjoint tests passing added mpp_error(FATAL, calls if adjoint tests fail add calls to mpp_domains_init and mpp_domains_exit removed the 16-pe test added debugging statements for sum values merged in add_mixed_precision updates added mpp_sync() calls to test_mpp_update_domains_ad.F90 made the mpp_error message for test failure a warning in the R4 test. The differences in the sums are small (O(10^6)), but I don't think this threshold is sufficient to classify it as neglible. I added notes that the threshold test failure is expected for the R4 case in the comments updated Makefile to match add_mixed_precision changed the threshold for the r4 adjoint tests to 1E-6 added skip to the 16-pe mpp_update_domains_test with a note to resolve mpp_clock_begin error in test_pe_subset added more detailed comments about R4 threshold * Removed the 16-pe test from test_mpp_update_domains.sh to avoid triggering the subset test moved todo note to test_mpp_update_domains.F90 * fixed test name in Makefile.am Co-authored-by: wrongkindofdoctor <Jessica.Liptak@lscsky50-d.gfdl.noaa.gov> * Unit test for mpp_io reads and writes (#51) * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added unit test from other branch * rm OVERLOAD_R8 ifdefs from mpp * Made new file for test * Cleaned up types * Added r4 and r8 versions for mpp_read/write_compressed * Set MPP_TYPE_ of default functions to default reals and added R4 versions to overload * Added test to autotools, fixed compilation issues and split up test to just test non-mosaic r/w's * Switched to platform_mod kinds and added appending write test and some comments * Added R4 and R8 to output messages and took out platform.h * Renamed test to be more concise Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Co-authored-by: rem1776 <Ryan.Mulhall@lscsky50-d.gfdl.noaa.gov> * Add test_io_mosaic_R4_R8 (#53) * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added unit test from other branch * rm OVERLOAD_R8 ifdefs from mpp * Made new file for test * Cleaned up types * Added r4 and r8 versions for mpp_read/write_compressed * Set MPP_TYPE_ of default functions to default reals and added R4 versions to overload * Added test to autotools, fixed compilation issues and split up test to just test non-mosaic r/w's * Switched to platform_mod kinds and added appending write test and some comments * Added R4 and R8 to output messages and took out platform.h * Renamed test to be more concise * Added test for mosaic reads and writes * Fixed test and also cleaned up and added comments * Requested changes Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Co-authored-by: rem1776 <Ryan.Mulhall@lscsky50-d.gfdl.noaa.gov> * Created test_mpp_transmit and removed the test from test_mpp.F90. Updates test_mpp_sum to replace include platform.h and replace mpp_exit. * Platform swap (#54) * monin_obukhov (no mod required) * updated drifters * updated time_manager * updated block_control * Replaced platform.h with platform_mod in test_mpp_io and diag_integral (#55) Co-authored-by: rem1776 <Ryan.Mulhall@lscsky50-d.gfdl.noaa.gov> * added integers to minmax tests * Replaced #include fms_platform.h to use platform_mod in fms_io, horiz_interp_conserve, and interpolator. (#60) * swapped #include <fms_platform.h> with use :: platform_mod, and updat… (#62) * swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path Change mpirun to run_test in test_mpp_memutils.sh (#566) (#45) Change mpirun to run_test in test_mpp_memutils.sh (#566) Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. Add mixed precision (#34) (#40) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Add mixed precision (#41) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Mixed Precision: Test mpp_sum (#43) * adding test for mpp_sum * Updated test_mpp_sum to no longer get error * updated mpp_init call for test_mpp_sum Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Adds test in test_mpp for mixed sized integer checksums Adds test for distributed integer checksums Took out remaining no_8byte_int ifdefs from mpp Split test into its own file and updated autotools for it Removed unintentional changes to test_mpp.F90 Changed init and exit calls swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path added ${topbuilddir}/platform to all makefile.am files in FMS added platform_mod definitions to fms2_io array_utils.inc added use platform_mod to fms2_io_utils.F90 added platform_mod definitions to FMS modules added ${top_builddir}/platform to test_fms/field_manager and test_fms/time_interp Makefile.am files replaced iso_fortran kinds with platform_mod kinds in test_global_att.F90 and test_io_with_mask.F90 replaced iso fotran kinds with platform_mod kinds in test_fms/fms2_io/ocean_restart_file_test.inc test_atmosphere_io.F90, and test_fms2_io.F90. replaced iso_fortran definitions with platform_mod types in fms2_io repo and tests initialized temperature arrays in fms2_io tests * fixed typos and missing comments in mpp_domains.F90 and mpp_efp.F90 * fixed another typo Co-authored-by: wrongkindofdoctor <Jessica.Liptak@lscsky50-d.gfdl.noaa.gov> * Update mpp_domains.F90 removed rogue domains_axis_spec * Revert "Update mpp_domains.F90" This reverts commit 8f654ff6a27ef2833a7832e29ce117ea51c9d684 [formerly b2d3914f2db411834bb0d381a00691293d0ea9ba]. * Revert "swapped #include <fms_platform.h> with use :: platform_mod, and updat… (#62)" This reverts commit d849cf61f966321bdb2a19076ab3d917fa82b97a [formerly 35d617011a6b123d21f6320d2c990ab43c2325f9]. * Revert "Replaced #include fms_platform.h to use platform_mod in fms_io, horiz_interp_conserve, and interpolator. (#60)" This reverts commit 2da93f30ab218d5c54058b667a14b117b87bf7fe [formerly 6a8d70cba1bc5c2a2d4521cc85950935ed4a3c10]. * swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path Change mpirun to run_test in test_mpp_memutils.sh (#566) (#45) Change mpirun to run_test in test_mpp_memutils.sh (#566) Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. Add mixed precision (#34) (#40) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Add mixed precision (#41) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. * Added test function for mpp_scatter. Extracted mpp_gather tests into their own file (test_mpp_gatscat.F90) also has the test for mpp_scatter. Added comments to interface in mpp_scatter.h. * Added mpp scatter 3D test. * Add mixed precision (#34) * Removing OVERLOAD_R4s in mpp and fms2_io * Removing #ifdef OVERLOAD_R4 and associated #endif in severl Fortran F90 and inc files. removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed OVERLOAD_R4 ifdefs surrounding mpp_update_domains interfaces added test_mpp_update_domains.F90 added module file compare_checksums with interface routines for 2d and 3d 32-bit and 64-bit real arrays created two routines test_halo_update_r8 and test_halo_update_r4 to peform the tests for updating domains for 64-bit and 32-bit real arrays in test_mpp_update_domains.F90 removed #idef OVERLOAD_R4 blocks around routines that mpp_update_domains requires renamed compare_checksums to compare_data_checksums added missing variable definitions and modules to test files updated test_fms mpp makefile with new test commented out OVERLOAD_R4 ifdef blocks around mpp_chksum routines and definitions in mpp files added module fill_halo with routines to fill halos for 32-bit and 64-bit arrays on different grids updated makefile.am in test_fms/mpp with dependency defintions for test_mpp_update_domains increased stack_max, decreased nx, ny, nz, add calls to mpp_pe, mpp_npes, and mpp_set_domains_stacksize to test_mpp_update_domains.F90, got rid of the single-pe test because og test requires more than 1 pe added calls to read in the mpp_nml section from input.nml to change the request_multiply parameter updated test runscript to read in mpp namelist parameter added calls to initialize and read input namelist to main program added debugging statements to mpp_transmit increased hard-coded request_multiply value in mpp.F90 reverted some debugging changes, moved the #include fms_platform.h statement removed spaces, added missing #endif back to mpp_domains_misc.inc removed debugging statements from mpp_transmit_mpi.h removed namelist read procedure from test_mpp_update_domains changed the mpp_init argument to mpp_init_test_requests_allocated changed pe counts to 1,2 (if available), and 10 (if availables) in test_mpp_update_domains.sh removed debugging statements in mpp_transmit_mpi.h removed test_halo_update and test_subset_update from test_mpp_domains added test_subset_update_r4 and test_subset_update_r8 to test_mpp_update_domains changed the 10-pe test to 16 pes to accommodate the test_subset_update tests expanded test_subset_update checksum comments in test_mpp_update_domains remove the namelist creation in test_mpp_update_domains.sh fixed spacing, enabled masked test_halo_update tests * Fixing comment in mpp_scatter.h. Part of adding new scatter 3D unit test. * Added test_scatter_3D with double kind. Updated documentation. * Adding changes based on j.l. PR review. * Deleting some lines that were already commented out. Mostly debug/print lines. * Changed comments to doxygen style. Moved legacy test_mpp_gather2DV routine to original form. Added two todo comments. Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Mixed Precision: Test mpp_sum (#43) * adding test for mpp_sum * Updated test_mpp_sum to no longer get error * updated mpp_init call for test_mpp_sum Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Adds test in test_mpp for mixed sized integer checksums Adds test for distributed integer checksums Took out remaining no_8byte_int ifdefs from mpp Split test into its own file and updated autotools for it Removed unintentional changes to test_mpp.F90 Changed init and exit calls swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path swapped #include <fms_platform.h> with use :: platform_mod, and updated type definitions, in test_xgrid.F90, test_fms_io.F90, test_unstructured_fms_io.F90, and test_mpp.F90 test_fms_io.F90 changed platform.h defintions to platform_mode definitions in mpp_domains and mpp_efp cleaned up documentation in mpp_domains and mpp_efp, and changed html to doxygen-style comments doxygenized more interface comments in mpp_domains.F90 moved mpp_define_nest_domain and mpp_get_C2F_index interface information to mpp_define_nest_domains where the routines are defined. doxygenized more interface comments in mpp_domains moved mpp_get_F2C_index_fine argument definitions from mpp_domains to mpp_define_nest_domains.inc moved mpp_update_nest argument definitions to interace routines in mpp_update_nest_domains.h added mpp_modify_domains argument definitions to routines in mpp_domains_define.inc finished doxygenizing variable definitions to nest domain update and define routines changed top_srcdir to top_builddir in the mpp makefile.am platform path changed the platform.h variable kinds to platform_mod kinds in the mpp modules, include files, and in test_fms/mpp/test_system_clock.F90 removed #include fms_platform.h from mpp modules swapped out more fms_plaform.h definitions in mpp modules swapped out more fms_plaform.h definitions in mpp include files added more missing platform_mod definitions to mpp files added ptr_type to platform_mod changed top_srcdir/ to top_blddir/platform in in test_fms/fms/makefile.am added touch input_nml to mpp_io test launch scripts changed top_srcdir to top_builddir in test_fms/fms/ Makefile.am platform path added ${topbuilddir}/platform to all makefile.am files in FMS added platform_mod definitions to fms2_io array_utils.inc added use platform_mod to fms2_io_utils.F90 added platform_mod definitions to FMS modules added ${top_builddir}/platform to test_fms/field_manager and test_fms/time_interp Makefile.am files replaced iso_fortran kinds with platform_mod kinds in test_global_att.F90 and test_io_with_mask.F90 replaced iso fotran kinds with platform_mod kinds in test_fms/fms2_io/ocean_restart_file_test.inc test_atmosphere_io.F90, and test_fms2_io.F90. replaced iso_fortran definitions with platform_mod types in fms2_io repo and tests initialized temperature arrays in fms2_io tests fixed typos and missing comments in mpp_domains.F90 and mpp_efp.F90 fixed another typo fixed typos added missing code that got eating in a merge back to fill_halo.F90 and test_mpp_gatscat.F90 * correcting merge on test_fms/mpp/Makefile.am * correcting one more error in merge * updating test_mpp_transmit to include integer testing, null_pe testing, and all_pes testing. * updating integer definitions as per comments on PR * updating mpp_init call * changed dimensions of test variables, initilizing the b variable when used, updated everything to account for the new dimensions Co-authored-by: Miguel R Zuniga <42479054+ngs333@users.noreply.github.com> Co-authored-by: Jess <20195932+wrongkindofdoctor@users.noreply.github.com> Co-authored-by: MiKyung Lee <58964324+mlee03@users.noreply.github.com> Co-authored-by: Eric <7784797+GFDL-Eric@users.noreply.github.com> Co-authored-by: Eric Stofferahn <Eric.Stofferahn@noaa.gov> Co-authored-by: wrongkindofdoctor <Jessica.Liptak@lscsky50-d.gfdl.noaa.gov> Co-authored-by: rem1776 <35538242+rem1776@users.noreply.github.com> Co-authored-by: rem1776 <Ryan.Mulhall@lscsky50-d.gfdl.noaa.gov> Former-commit-id: 131979dd24509517542e60e96630674192065926
Fix typo when removing tile from a filename
We (NASA GMAO) would like to build GEOS using the NAG Fortran compiler to perform various aggressive compile-time and runtime checks provided by that compiler. Unfortunately, NAG does not support Cray pointers, so a workaround is needed for FMS.
Now that there is a firm integration path, I will happy to attempt the necessary changes and then issue a pull-request.
The text was updated successfully, but these errors were encountered: