Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

some latitudes are zero when section is south of equator #52

Closed
StephenGriffies opened this issue Sep 13, 2018 · 4 comments
Closed

some latitudes are zero when section is south of equator #52

StephenGriffies opened this issue Sep 13, 2018 · 4 comments
Projects

Comments

@StephenGriffies
Copy link

In

https://github.com/NOAA-GFDL/MOM6-examples/blob/dev/gfdl/ice_ocean_SIS2/OM4_025/diag_table.MOM6

we have two sections (below) that sample MOM fields completely south of the equator. A handful of the southern latitudes have 0 for the latitude values, rather than -71 or the like. So the latitudes are not monotonic and that messes with the plotting, yielding spurious latitude values altogether for Ferret.

We (Adrcroft and Griffies) think there is a bug in diag manager.

Here are the sections

"ocean_model_z", "volcello", "volcello", "ocean_Drake_Passage", "all", "mean", "-70. -70. -71. -54.5 -1 -1",2

"ocean_model_z", "volcello", "volcello", "ocean_Agulhas_section", "all", "mean", "20. 20. -71.0 -34 -1 -1",2

An example output is

/archive/ogrp/CMIP6/OMIP/warsaw_201803_mom6_2018.04.06/OM4p25_IAF_fc0/gfdl.ncrc3-intel16-prod/pp/ocean_Drake_Passage/ts/monthly/20yr/ocean_Drake_Passage.198801-200712.umo.nc

@adcroft
Copy link
Member

adcroft commented Sep 13, 2018

This problem seems to be more a problem with mppnccombine. Example data in /lustre/f1/Alistair.Adcroft/issue.mppnccombine is causing all sorts of odd results at the combine stage: core dumps, changed values, non-monotonic coordinates. @Zhi-Liang

@Zhi-Liang
Copy link
Contributor

I only have permission to access test.nc in /lustre/f1/Alistair.Adcroft/issue.mppnccombine. Could you change the permission of other files?

Thanks,

Zhi

@Zhi-Liang
Copy link
Contributor

Hi,
Through debugging, I found the issue might be from diag_manager regional output, not from mppnccombine. The file 19000101.ocean_Tropics.nc.0229 and 19000101.ocean_Tropics.nc.0245 both have an extra dimension and field yh_sub02. And yh_sub02 is same as yh_sub01. After I removed yh_sub02 from both files. mppnccombine runs fine and the output looks fine to me. The output is at /work/z1l/issue.mppnccombine/out.nc. I also noticed all the files have dimension and field xh_sub02, which is the same as xh_sub01. Though xh_sub02 does not affect combine, I think it is not needed. I will talk with our group to find someone to solve the issue in diag_manager.

Zhi

rem1776 referenced this issue in rem1776/FMS Sep 16, 2020
* 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>
rem1776 referenced this issue in rem1776/FMS Oct 21, 2020
* 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>
laurenchilutti pushed a commit to laurenchilutti/FMS that referenced this issue Nov 9, 2020
* 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 (NOAA-GFDL#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>
laurenchilutti added a commit to laurenchilutti/FMS that referenced this issue Nov 9, 2020
* 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>
bensonr pushed a commit to bensonr/FMS that referenced this issue Jan 12, 2021
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…
mlee03 pushed a commit to mlee03/FMS that referenced this issue Jan 22, 2021
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…
rem1776 referenced this issue in rem1776/FMS Sep 20, 2021
* 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
rem1776 referenced this issue in rem1776/FMS Sep 20, 2021
* 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>

Former-commit-id: f7765f38546fb8b7485e75cddd5bbe51c964d923
rem1776 referenced this issue in rem1776/FMS Sep 20, 2021
* 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
@rem1776 rem1776 added this to To do in dmUpdate via automation Mar 3, 2022
rem1776 referenced this issue in rem1776/FMS Apr 26, 2022
Implement fms2_io to full coupler
@rem1776
Copy link
Contributor

rem1776 commented Jan 31, 2024

I believe this should have been fix with PR #434

@rem1776 rem1776 closed this as completed Jan 31, 2024
dmUpdate automation moved this from To do to Done Jan 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
dmUpdate
  
Done
Development

No branches or pull requests

4 participants