From fd460e5d658fd2a1f640b3a0827dcd5cd455ccd4 Mon Sep 17 00:00:00 2001 From: Dustin Swales Date: Thu, 26 Sep 2024 15:35:17 +0000 Subject: [PATCH] Doh Doh --- scm/src/GFDL_parse_tracers.F90 | 41 ++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 scm/src/GFDL_parse_tracers.F90 diff --git a/scm/src/GFDL_parse_tracers.F90 b/scm/src/GFDL_parse_tracers.F90 new file mode 100644 index 000000000..c81127101 --- /dev/null +++ b/scm/src/GFDL_parse_tracers.F90 @@ -0,0 +1,41 @@ +module parse_tracers + + integer, parameter :: NO_TRACER = -99 + + public get_tracer_index, NO_TRACER + +CONTAINS + + function get_tracer_index (tracer_names, name, me, master, debug) + + character(len=32), intent(in) :: tracer_names(:) + character(len=*), intent(in) :: name + integer, intent(in) :: me + integer, intent(in) :: master + logical, intent(in) :: debug + !--- local variables + integer :: get_tracer_index + integer :: i + + get_tracer_index = NO_TRACER + + do i=1, size(tracer_names) + if (trim(name) == trim(tracer_names(i))) then + get_tracer_index = i + exit + endif + enddo + + if (debug .and. (me == master)) then + if (get_tracer_index == NO_TRACER) then + print *,' PE ',me,' tracer with name '//trim(name)//' not found' + else + print *,' PE ',me,' tracer FOUND:',trim(name) + endif + endif + + return + + end function get_tracer_index + +end module parse_tracers