Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* 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
- Loading branch information