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

Checks put in place before allocating pointers passed into routines #1146

Closed
wants to merge 131 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
e3113eb
First attempt at adding the fms_diag_object to diag manager
thomas-robinson Oct 6, 2021
a9982d8
Second attempt at adding the fms_diag_object to diag manager
thomas-robinson Oct 6, 2021
ce9de8a
Adds diag_object to diag_manager folder and compiles.
thomas-robinson Oct 6, 2021
1ab4eb8
Merge pull request #837 from thomas-robinson/tom-dmUpdate
thomas-robinson Oct 11, 2021
e02fa3d
Merge remote-tracking branch 'origin/main' into dmUpdate
thomas-robinson Oct 20, 2021
98bb81e
Adds namelist variable
thomas-robinson Oct 20, 2021
9c9a406
Adds all variables to diag object that are registered.
thomas-robinson Oct 22, 2021
06a71bb
Merge branch 'diag_object_namelist' into dm-registerObj
thomas-robinson Oct 22, 2021
ccb2583
Registered a bunch of data in the diag_object.
thomas-robinson Oct 22, 2021
5afcd83
Merge pull request #847 from thomas-robinson/diag_object_namelist
thomas-robinson Oct 22, 2021
70b7829
Fixes typos in filling in missing value for diag object registration.
thomas-robinson Oct 25, 2021
7b7541c
Merge branch 'main' of github.com:NOAA-GFDL/FMS into dmUpdate
thomas-robinson Oct 27, 2021
3acef8f
Removes diag_object operator overrides.
thomas-robinson Nov 2, 2021
7c9881b
Merge pull request #850 from thomas-robinson/dm-registerObj
thomas-robinson Nov 2, 2021
e24ccfd
Initial add of fms_diag_yaml_object.F90
thomas-robinson Nov 3, 2021
dce9d96
Merge remote-tracking branch 'origin/dmUpdate' into dmUpdate
thomas-robinson Nov 8, 2021
4dbe01a
Merge branch 'dm-yamlfile' into dmUpdate
thomas-robinson Nov 8, 2021
a0dfa42
Merge remote-tracking branch 'origin/main' into dmUpdate
thomas-robinson Nov 10, 2021
00988c1
Updates fms_c2f_string to convert C-string and C-pointers to a Fortra…
thomas-robinson Nov 10, 2021
fd8e98b
Removes pure functionality for string conversions
thomas-robinson Nov 10, 2021
0cc676f
Merge branch 'c2fstring_update' into dmUpdate
thomas-robinson Nov 11, 2021
67e1e96
Fixes compile errors in new diag manager related to objects
thomas-robinson Nov 11, 2021
2322990
Merge branch 'main' of github.com:NOAA-GFDL/FMS into dmUpdate
thomas-robinson Nov 15, 2021
1c2ba17
Updates doxygen on string conversion interface
thomas-robinson Nov 15, 2021
ea0495c
Merge branch 'main' into c2fstring_update
thomas-robinson Nov 15, 2021
a37817a
Merge branch 'c2fstring_update' of https://github.com/thomas-robinson…
thomas-robinson Nov 15, 2021
b32b3db
Merge branch 'dmUpdate' of github.com:NOAA-GFDL/FMS into dmUpdate
thomas-robinson Nov 15, 2021
d2708c8
Merge pull request #853 from thomas-robinson/dmUpdate
thomas-robinson Nov 16, 2021
440f58e
Updates get functions in the diag yaml objects
thomas-robinson Nov 29, 2021
c30d360
Merge pull request #864 from thomas-robinson/updateGets
thomas-robinson Nov 30, 2021
2a2d9d2
Merge branch 'main' into dmUpdate
thomas-robinson Dec 13, 2021
9f261fa
diag_yaml addition (#866)
uramirez8707 Dec 28, 2021
acd73c7
Merge remote-tracking branch 'origin' into dmUpdate
thomas-robinson Jan 4, 2022
60c5e12
Adding the fms_diag_object container. (#867)
ngs333 Jan 4, 2022
164e870
Skipping tests of container and linked list. (#882)
ngs333 Jan 10, 2022
ad7a14f
Changes fms_diag_object to fmsDiagObject_type (#879)
thomas-robinson Jan 10, 2022
3b6af65
Merge branch 'main' into dmUpdate
thomas-robinson Jan 10, 2022
baf9fb1
Merge branch 'main' into dmUpdate
thomas-robinson Jan 12, 2022
2c218d0
Dm update: diag_yaml_object_init() tests (#883)
uramirez8707 Jan 12, 2022
08205c6
Dm get fns (#885)
thomas-robinson Feb 7, 2022
1e6cb52
diag_manager ontainer and linked list -test core dump fixes and more …
ngs333 Feb 7, 2022
3b9dde3
Moves fms_diag_yaml_obj to fms_diag_yaml (#887)
uramirez8707 Feb 7, 2022
9ea4892
Merge remote-tracking branch 'origin/main' into dmUpdate
thomas-robinson Feb 7, 2022
54bdaf6
Merge branch 'main' into dmUpdate
thomas-robinson Feb 11, 2022
0768cfc
Dm update (#913)
ngs333 Feb 17, 2022
d0cffcb
Merge remote-tracking branch 'origin/main' into dmUpdate
thomas-robinson Feb 25, 2022
8354493
Removes intel18 testing due to a compiler issue (#915)
thomas-robinson Feb 25, 2022
8165679
diag_yaml update (#901)
uramirez8707 Feb 25, 2022
d6324ff
Dm obj alloc (#910)
thomas-robinson Feb 25, 2022
b4346f8
Dm pure (#923)
thomas-robinson Feb 25, 2022
e2f9107
Merge branch 'main' into dmUpdate
thomas-robinson Feb 25, 2022
7658ead
Dm p rupdate (#924)
thomas-robinson Mar 1, 2022
c4ba370
Resolves merge conflict with main due to code coverage
thomas-robinson Mar 2, 2022
207ed12
Resolves conflicts with 2022.01-beta2 and dmUpdate branch #931
uramirez8707 Mar 8, 2022
c994f11
Resolves more merge conflicts with dmUpdate and 2022.01-beta1
thomas-robinson Mar 9, 2022
cd7cf11
Merge branch 'dmUpdate' into dmUpdate2022.01
thomas-robinson Mar 9, 2022
2688ae0
Diag ocean (#927)
uramirez8707 Mar 14, 2022
7547711
Write file var (#936)
uramirez8707 Mar 14, 2022
b3dd78b
Base time (#937)
uramirez8707 Mar 21, 2022
359939a
fms_find_unique (#938)
uramirez8707 Mar 21, 2022
5c10ab8
Remove use_mpp_io from diag manager (#940)
thomas-robinson Mar 23, 2022
f4200fe
Modern register_diag_field set up (#939)
uramirez8707 Mar 24, 2022
b3f31e2
Diag manager init (#944)
uramirez8707 Mar 29, 2022
0ab902a
Merge branch 'main' into dmUpdate
thomas-robinson Mar 30, 2022
cb71efd
Yaml updates (#942)
uramirez8707 Mar 30, 2022
09b9a06
Removes more realm stuff and cleans up white space (#947)
uramirez8707 Apr 1, 2022
f8919fb
Register_diag_field (#950)
uramirez8707 Apr 14, 2022
444bc96
Update supported types in diag_manager (#955)
uramirez8707 Apr 14, 2022
b587b52
Merge main into dmUpdate (#964)
uramirez8707 Apr 20, 2022
f8fb909
Diag axis obj (#966)
uramirez8707 May 11, 2022
2ab6752
Merge branch 'main' into dmUpdate
thomas-robinson May 13, 2022
eef5a19
add number of diurnal sample and power level to the yaml (#977)
uramirez8707 May 16, 2022
7e6baf5
Subregion yaml update (#973)
uramirez8707 May 23, 2022
35e15d0
Diag file object (#943)
thomas-robinson Jun 1, 2022
f38edcc
Diag_axis_init set up (#978)
uramirez8707 Jun 1, 2022
67f97ce
diag_axis io (#982)
uramirez8707 Jun 3, 2022
d0d24f5
Merge branch 'main' into dmUpdate
thomas-robinson Jun 10, 2022
3af3360
Finish register diag (#984)
uramirez8707 Jun 15, 2022
0d92ed3
Adds the module name to find_diag_field and get_diag_fields_entries t…
uramirez8707 Jun 29, 2022
3a69f88
add a modern version of add_diag_axis_attribute (#990)
uramirez8707 Jun 29, 2022
4089269
Diag objs array (#995)
uramirez8707 Jul 5, 2022
4135e31
Merge branch 'main' into dmUpdate
thomas-robinson Jul 8, 2022
70fc6a6
Merge remote-tracking branch 'origin/dmUpdate' into dmUpdate
thomas-robinson Jul 8, 2022
461710e
Merge branch 'main' into dmUpdate
thomas-robinson Jul 14, 2022
9de90bf
Merges 2022.03-beta1 with dmUpdate
thomas-robinson Jul 18, 2022
033b50e
Merge branch 'main' into dmUpdate
thomas-robinson Jul 26, 2022
85d3fa4
class(*) updates needed for compatibility of dmUpdate with 2022.03 (#…
thomas-robinson Jul 26, 2022
0088145
Compiling dmUpdate post merge of 2022.03-beta1 (#979)
ngs333 Jul 26, 2022
fcd8234
Merge branch 'main' into dmUpdate
thomas-robinson Aug 4, 2022
888ec43
Dm update design (#1015)
thomas-robinson Aug 5, 2022
3528354
Add time info to diag file obj (#1002)
uramirez8707 Aug 8, 2022
e455d6b
Modern_diag remaining init work (#998)
uramirez8707 Aug 8, 2022
a1f41a1
Merge branch 'main' into dmUpdate
thomas-robinson Aug 8, 2022
4b7efdc
Modern diag_manager: use integer parameters instead of strings (#1016)
uramirez8707 Aug 15, 2022
fd634d1
Diag field type (#1017)
thomas-robinson Aug 15, 2022
7e3b75b
make type bound procedures private except when through the type (#1022)
rem1776 Aug 16, 2022
d9160dd
Dm update design (#1018)
thomas-robinson Aug 16, 2022
d7931ad
clean up the diag registers (#1023)
uramirez8707 Aug 16, 2022
e8870d4
Modifying several classes to use the "this" in type bound procedures.…
ngs333 Aug 23, 2022
2d1b672
Move axis obj (#1024)
uramirez8707 Sep 13, 2022
f7bc762
Add fms_diag_time_utils.F90 (#1041)
uramirez8707 Sep 15, 2022
f1f88ec
Adds zbounds to the diag_field yaml (#1037)
uramirez8707 Sep 15, 2022
c7c2e04
Dm buffer object (#1019)
rem1776 Oct 4, 2022
e91fb97
diag_manager io: open_file (#1044)
uramirez8707 Oct 4, 2022
bd4c4c6
Merge branch 'main' into dmUpdate
thomas-robinson Oct 4, 2022
b14e664
Dump routines for diag objects (#1048)
rem1776 Oct 7, 2022
25ffcea
Ifdef cleanup (#1049)
thomas-robinson Oct 7, 2022
c5b13ce
add failure test for compiling without yaml + skip empty tests (#1050)
rem1776 Oct 7, 2022
31ed1d8
Merge branch 'main' into dmUpdate
thomas-robinson Oct 31, 2022
1e3e0c0
Subaxis setup (#1056)
uramirez8707 Nov 8, 2022
b9d156f
Merge branch 'main' into dmUpdate
thomas-robinson Nov 8, 2022
e106c29
Add time io (#1068)
uramirez8707 Nov 22, 2022
6b38aec
Merge branch 'main' into dmUpdate
thomas-robinson Nov 23, 2022
b0334fc
Add flexible timining feature in modern diag_manager (#1077)
uramirez8707 Dec 16, 2022
5429283
Merge branch 'main' into dmUpdate
thomas-robinson Jan 25, 2023
7e21a97
Accept data (#1088)
thomas-robinson Jan 25, 2023
af0b3ca
Add some of the io for the field's metadata (#1102)
uramirez8707 Jan 31, 2023
34ef885
Unstructured grid files axis (#1114)
uramirez8707 Feb 1, 2023
8f7b860
Diag table documentation (#1122)
uramirez8707 Feb 2, 2023
fcd02d3
Merge branch 'main' into dmUpdate
thomas-robinson Feb 2, 2023
5b6ee81
Fix race conditions + add send_data tests (#1130)
uramirez8707 Feb 8, 2023
298f630
Merge main into dmupdate (#1134)
rem1776 Feb 14, 2023
6dba8c2
Time io update (#1129)
uramirez8707 Feb 22, 2023
a1f720b
Add the documentation explaining the is_ocean key (#1133)
uramirez8707 Feb 22, 2023
5c6636d
Dm merge fix (#1135)
thomas-robinson Feb 22, 2023
95dbb73
Inserted safe-guard for pointer members of ddts
ganganoaa Jan 30, 2023
6cfc1fa
Revert to original state
ganganoaa Jan 31, 2023
774a658
Checks pointer allocations
ganganoaa Mar 1, 2023
e1a1746
Replace unpack_ind with comm%unpack_ind
ganganoaa Mar 7, 2023
e292bdc
Fixed pointer allocation checks
ganganoaa Mar 7, 2023
7592c8f
Deleted some pointer allocation checks
ganganoaa Mar 7, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,15 @@ list(APPEND fms_fortran_src_files
diag_manager/diag_output.F90
diag_manager/diag_table.F90
diag_manager/diag_util.F90
diag_manager/fms_diag_time_utils.F90
diag_manager/fms_diag_object.F90
diag_manager/fms_diag_yaml.F90
diag_manager/fms_diag_file_object.F90
diag_manager/fms_diag_field_object.F90
diag_manager/fms_diag_axis_object.F90
diag_manager/fms_diag_dlinked_list.F90
diag_manager/fms_diag_object_container.F90
diag_manager/fms_diag_buffer.F90
drifters/cloud_interpolator.F90
drifters/drifters.F90
drifters/drifters_comm.F90
Expand Down
1 change: 1 addition & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ SUBDIRS = \
mosaic2 \
fms \
parser \
string_utils \
affinity \
mosaic \
time_manager \
Expand Down
12 changes: 6 additions & 6 deletions amip_interp/amip_interp.F90
Original file line number Diff line number Diff line change
Expand Up @@ -277,8 +277,7 @@ module amip_interp_mod
type amip_interp_type
private
type (horiz_interp_type) :: Hintrp, Hintrp2 ! add by JHC
real, pointer :: data1(:,:) =>NULL(), &
data2(:,:) =>NULL()
real, allocatable :: data1(:,:), data2(:,:)
type (date_type) :: Date1, Date2
logical :: use_climo, use_annual
logical :: I_am_initialized=.false.
Expand Down Expand Up @@ -1003,8 +1002,8 @@ end subroutine amip_interp_init
!! when calling get_amip_sst and get_amip_ice.
subroutine amip_interp_del (Interp)
type (amip_interp_type), intent(inout) :: Interp
if(associated(Interp%data1)) deallocate(Interp%data1)
if(associated(Interp%data2)) deallocate(Interp%data2)
if(allocated(Interp%data1)) deallocate(Interp%data1)
if(allocated(Interp%data2)) deallocate(Interp%data2)
if(allocated(lon_bnd)) deallocate(lon_bnd)
if(allocated(lat_bnd)) deallocate(lat_bnd)
call horiz_interp_del ( Interp%Hintrp )
Expand Down Expand Up @@ -1536,8 +1535,9 @@ subroutine amip_interp_type_eq(amip_interp_out, amip_interp_in)
endif

amip_interp_out%Hintrp = amip_interp_in%Hintrp
amip_interp_out%data1 => amip_interp_in%data1
amip_interp_out%data2 => amip_interp_in%data2
amip_interp_out%Hintrp2 = amip_interp_in%Hintrp2 !< missing assignment statement; added by GPP
amip_interp_out%data1 = amip_interp_in%data1
amip_interp_out%data2 = amip_interp_in%data2
amip_interp_out%Date1 = amip_interp_in%Date1
amip_interp_out%Date2 = amip_interp_in%Date2
amip_interp_out%Date1 = amip_interp_in%Date1
Expand Down
4 changes: 2 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -189,9 +189,9 @@ if test $with_yaml = yes; then
#If the test pass, define use_yaml macro
AC_DEFINE([use_yaml], [1], [This is required to use yaml parser])

AM_CONDITIONAL([SKIP_PARSER_TESTS], false )
AM_CONDITIONAL([USING_YAML], true)
else
AM_CONDITIONAL([SKIP_PARSER_TESTS], true )
AM_CONDITIONAL([USING_YAML], false)
fi

# Require netCDF
Expand Down
46 changes: 40 additions & 6 deletions diag_manager/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -23,29 +23,53 @@
# Ed Hartnett 2/22/19

# Include .h and .mod files.
AM_CPPFLAGS = -I$(top_srcdir)/include
AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/diag_manager
AM_FCFLAGS = $(FC_MODINC). $(FC_MODOUT)$(MODDIR)

# Build these uninstalled convenience libraries.
noinst_LTLIBRARIES = libdiag_manager.la

# Each convenience library depends on its source.
libdiag_manager_la_SOURCES = \
diag_axis.F90 \
diag_data.F90 \
diag_axis.F90 \
diag_grid.F90 \
diag_manager.F90 \
diag_output.F90 \
diag_table.F90 \
diag_util.F90
diag_util.F90 \
fms_diag_time_utils.F90 \
fms_diag_file_object.F90 \
fms_diag_field_object.F90 \
fms_diag_yaml.F90 \
fms_diag_object.F90 \
fms_diag_axis_object.F90 \
fms_diag_object_container.F90 \
fms_diag_dlinked_list.F90 \
fms_diag_buffer.F90

# Some mods are dependant on other mods in this dir.
diag_axis_mod.$(FC_MODEXT): diag_data_mod.$(FC_MODEXT)
diag_axis_mod.$(FC_MODEXT): diag_data_mod.$(FC_MODEXT) fms_diag_axis_object_mod.$(FC_MODEXT) fms_diag_object_mod.$(FC_MODEXT)
diag_output_mod.$(FC_MODEXT): diag_axis_mod.$(FC_MODEXT) diag_data_mod.$(FC_MODEXT)
diag_util_mod.$(FC_MODEXT): diag_data_mod.$(FC_MODEXT) diag_axis_mod.$(FC_MODEXT) diag_output_mod.$(FC_MODEXT) diag_grid_mod.$(FC_MODEXT)
diag_util_mod.$(FC_MODEXT): diag_data_mod.$(FC_MODEXT) diag_axis_mod.$(FC_MODEXT) diag_output_mod.$(FC_MODEXT) \
diag_grid_mod.$(FC_MODEXT) fms_diag_time_utils_mod.$(FC_MODEXT)
fms_diag_time_utils_mod.$(FC_MODEXT): diag_data_mod.$(FC_MODEXT)
diag_table_mod.$(FC_MODEXT): diag_data_mod.$(FC_MODEXT) diag_util_mod.$(FC_MODEXT)
fms_diag_yaml_mod.$(FC_MODEXT): diag_data_mod.$(FC_MODEXT)
fms_diag_object_mod.$(FC_MODEXT): diag_data_mod.$(FC_MODEXT) fms_diag_file_object_mod.$(FC_MODEXT) fms_diag_field_object_mod.$(FC_MODEXT) fms_diag_yaml_mod.$(FC_MODEXT) \
fms_diag_time_utils_mod.$(FC_MODEXT) \
fms_diag_buffer_mod.$(FC_MODEXT)
fms_diag_field_object_mod.$(FC_MODEXT): diag_data_mod.$(FC_MODEXT) fms_diag_yaml_mod.$(FC_MODEXT) fms_diag_time_utils_mod.$(FC_MODEXT)
fms_diag_file_object_mod.$(FC_MODEXT): diag_data_mod.$(FC_MODEXT) fms_diag_yaml_mod.$(FC_MODEXT) fms_diag_field_object_mod.$(FC_MODEXT) fms_diag_time_utils_mod.$(FC_MODEXT) \
fms_diag_axis_object_mod.$(FC_MODEXT)
fms_diag_object_container_mod.$(FC_MODEXT): fms_diag_object_mod.$(FC_MODEXT) fms_diag_dlinked_list_mod.$(FC_MODEXT) fms_diag_time_utils_mod.$(FC_MODEXT)
fms_diag_axis_object_mod.$(FC_MODEXT): diag_data_mod.$(FC_MODEXT) fms_diag_time_utils_mod.$(FC_MODEXT) fms_diag_yaml_mod.$(FC_MODEXT) \
diag_grid_mod.$(FC_MODEXT)
diag_manager_mod.$(FC_MODEXT): diag_axis_mod.$(FC_MODEXT) diag_data_mod.$(FC_MODEXT) diag_util_mod.$(FC_MODEXT) \
diag_output_mod.$(FC_MODEXT) diag_grid_mod.$(FC_MODEXT) diag_table_mod.$(FC_MODEXT)
diag_output_mod.$(FC_MODEXT) diag_grid_mod.$(FC_MODEXT) diag_table_mod.$(FC_MODEXT) \
fms_diag_object_mod.$(FC_MODEXT) fms_diag_file_object_mod.$(FC_MODEXT) \
fms_diag_yaml_mod.$(FC_MODEXT) fms_diag_time_utils_mod.$(FC_MODEXT) \
fms_diag_object_container_mod.$(FC_MODEXT) fms_diag_axis_object_mod.$(FC_MODEXT)

# Mod files are built and then installed as headers.
MODFILES = \
Expand All @@ -54,8 +78,18 @@ MODFILES = \
diag_grid_mod.$(FC_MODEXT) \
diag_output_mod.$(FC_MODEXT) \
diag_util_mod.$(FC_MODEXT) \
fms_diag_time_utils_mod.$(FC_MODEXT) \
diag_table_mod.$(FC_MODEXT) \
fms_diag_yaml_mod.$(FC_MODEXT) \
fms_diag_file_object_mod.$(FC_MODEXT) \
fms_diag_field_object_mod.$(FC_MODEXT) \
fms_diag_object_mod.$(FC_MODEXT) \
fms_diag_axis_object_mod.$(FC_MODEXT) \
fms_diag_dlinked_list_mod.$(FC_MODEXT) \
fms_diag_object_container_mod.$(FC_MODEXT) \
fms_diag_buffer_mod.$(FC_MODEXT) \
diag_manager_mod.$(FC_MODEXT)

nodist_include_HEADERS = $(MODFILES)
BUILT_SOURCES = $(MODFILES)

Expand Down
Loading