From 78f34b4e693a47d885861973cd0e4126ecc6f8db Mon Sep 17 00:00:00 2001 From: Bill Ladwig Date: Fri, 15 Dec 2017 15:21:38 -0700 Subject: [PATCH] Cleaned up the default implementation of omp.f90 and the pyf file. --- fortran/omp.f90 | 232 +---------------------------------------- fortran/wrffortran.pyf | 11 +- 2 files changed, 10 insertions(+), 233 deletions(-) diff --git a/fortran/omp.f90 b/fortran/omp.f90 index 3da26d4..81805ff 100644 --- a/fortran/omp.f90 +++ b/fortran/omp.f90 @@ -1,9 +1,5 @@ -# 1 "ompgen.F90" -# 1 "" -# 1 "" -# 1 "ompgen.F90" + MODULE omp_constants -# 52 "ompgen.F90" INTEGER, PARAMETER :: fomp_sched_kind = 4 INTEGER, PARAMETER :: fomp_lock_kind = 4 INTEGER, PARAMETER :: fomp_nest_lock_kind = 8 @@ -11,209 +7,135 @@ MODULE omp_constants INTEGER(KIND=fomp_sched_kind), PARAMETER :: fomp_sched_dynamic = 2 INTEGER(KIND=fomp_sched_kind), PARAMETER :: fomp_sched_guided = 3 INTEGER(KIND=fomp_sched_kind), PARAMETER :: fomp_sched_auto = 4 - - END MODULE omp_constants SUBROUTINE fomp_set_num_threads(num_threads) - - - IMPLICIT NONE !f2py threadsafe INTEGER, INTENT(IN) :: num_threads - - - - END SUBROUTINE fomp_set_num_threads FUNCTION fomp_get_num_threads() - - - IMPLICIT NONE !f2py threadsafe INTEGER :: fomp_get_num_threads - - - fomp_get_num_threads = -1 - END FUNCTION fomp_get_num_threads FUNCTION fomp_get_max_threads() - - - IMPLICIT NONE !f2py threadsafe INTEGER :: fomp_get_max_threads - - - fomp_get_max_threads = -1 - END FUNCTION fomp_get_max_threads FUNCTION fomp_get_thread_num() - - - IMPLICIT NONE !f2py threadsafe INTEGER :: fomp_get_thread_num - - - fomp_get_thread_num = -1 - END FUNCTION fomp_get_thread_num FUNCTION fomp_get_num_procs() - - - IMPLICIT NONE !f2py threadsafe INTEGER :: fomp_get_num_procs - - - fomp_get_num_procs = -1 - END FUNCTION fomp_get_num_procs FUNCTION fomp_in_parallel() - - - IMPLICIT NONE !f2py threadsafe LOGICAL :: fomp_in_parallel - - - fomp_in_parallel = .FALSE. - END FUNCTION fomp_in_parallel SUBROUTINE fomp_set_dynamic(dynamic_threads) - - - IMPLICIT NONE !f2py threadsafe LOGICAL, INTENT(IN) :: dynamic_threads - - - - END SUBROUTINE fomp_set_dynamic FUNCTION fomp_get_dynamic() - - - IMPLICIT NONE !f2py threadsafe LOGICAL :: fomp_get_dynamic - - - fomp_get_dynamic = .FALSE. - END FUNCTION fomp_get_dynamic SUBROUTINE fomp_set_nested(nested) - - - IMPLICIT NONE !f2py threadsafe LOGICAL, INTENT(IN) :: nested - - - - END SUBROUTINE fomp_set_nested FUNCTION fomp_get_nested() - - - IMPLICIT NONE !f2py threadsafe LOGICAL :: fomp_get_nested - - - fomp_get_nested = .FALSE. - END FUNCTION fomp_get_nested SUBROUTINE fomp_set_schedule(kind, modifier) - - USE omp_constants, ONLY : fomp_sched_kind IMPLICIT NONE @@ -223,17 +145,11 @@ SUBROUTINE fomp_set_schedule(kind, modifier) INTEGER(KIND=fomp_sched_kind), INTENT(IN) :: kind INTEGER, INTENT(IN) :: modifier - - - - END SUBROUTINE fomp_set_schedule SUBROUTINE fomp_get_schedule(kind, modifier) - - USE omp_constants, ONLY : fomp_sched_kind IMPLICIT NONE @@ -243,103 +159,64 @@ SUBROUTINE fomp_get_schedule(kind, modifier) INTEGER(KIND=fomp_sched_kind), INTENT(OUT) :: kind INTEGER, INTENT(OUT) :: modifier - - - kind = -1 modifier = -1 - END SUBROUTINE fomp_get_schedule FUNCTION fomp_get_thread_limit() - - - IMPLICIT NONE !f2py threadsafe INTEGER :: fomp_get_thread_limit - - - fomp_get_thread_limit = -1 - END FUNCTION fomp_get_thread_limit SUBROUTINE fomp_set_max_active_levels(max_levels) - - - IMPLICIT NONE !f2py threadsafe - - - INTEGER, INTENT(IN) :: max_levels - - - - - END SUBROUTINE fomp_set_max_active_levels FUNCTION fomp_get_max_active_levels() - - - IMPLICIT NONE !f2py threadsafe INTEGER :: fomp_get_max_active_levels - - - fomp_get_max_active_levels = -1 - END FUNCTION fomp_get_max_active_levels FUNCTION fomp_get_level() - - - IMPLICIT NONE !f2py threadsafe INTEGER :: fomp_get_level - - - fomp_get_level = -1 - END FUNCTION fomp_get_level FUNCTION fomp_get_ancestor_thread_num(level) - - - IMPLICIT NONE !f2py threadsafe @@ -347,20 +224,13 @@ FUNCTION fomp_get_ancestor_thread_num(level) INTEGER, INTENT(IN) :: level INTEGER :: fomp_get_ancestor_thread_num - - - fomp_get_ancestor_thread_num = -1 - END FUNCTION fomp_get_ancestor_thread_num FUNCTION fomp_get_team_size(level) - - - IMPLICIT NONE !f2py threadsafe @@ -368,59 +238,39 @@ FUNCTION fomp_get_team_size(level) INTEGER, INTENT(IN) :: level INTEGER :: fomp_get_team_size - - - fomp_get_team_size = -1 - END FUNCTION fomp_get_team_size FUNCTION fomp_get_active_level() - - - IMPLICIT NONE !f2py threadsafe INTEGER :: fomp_get_active_level - - - fomp_get_active_level = -1 - END FUNCTION fomp_get_active_level FUNCTION fomp_in_final() - - - IMPLICIT NONE !f2py threadsafe LOGICAL :: fomp_in_final - - - fomp_in_final = .FALSE. - END FUNCTION fomp_in_final SUBROUTINE fomp_init_lock(svar) - - USE omp_constants, ONLY : fomp_lock_kind IMPLICIT NONE @@ -429,19 +279,13 @@ SUBROUTINE fomp_init_lock(svar) INTEGER(KIND=fomp_lock_kind), INTENT(OUT) :: svar - - - svar = -1 - END SUBROUTINE fomp_init_lock SUBROUTINE fomp_init_nest_lock(nvar) - - USE omp_constants, ONLY : fomp_nest_lock_kind IMPLICIT NONE @@ -450,19 +294,13 @@ SUBROUTINE fomp_init_nest_lock(nvar) INTEGER(KIND=fomp_nest_lock_kind), INTENT(OUT) :: nvar - - - nvar = -1 - END SUBROUTINE fomp_init_nest_lock SUBROUTINE fomp_destroy_lock(svar) - - USE omp_constants, ONLY : fomp_lock_kind IMPLICIT NONE @@ -471,17 +309,11 @@ SUBROUTINE fomp_destroy_lock(svar) INTEGER(KIND=fomp_lock_kind), INTENT(INOUT) :: svar - - - - END SUBROUTINE fomp_destroy_lock SUBROUTINE fomp_destroy_nest_lock(nvar) - - USE omp_constants, ONLY : fomp_nest_lock_kind IMPLICIT NONE @@ -490,17 +322,11 @@ SUBROUTINE fomp_destroy_nest_lock(nvar) INTEGER(KIND=fomp_nest_lock_kind), INTENT(INOUT) :: nvar - - - - END SUBROUTINE fomp_destroy_nest_lock SUBROUTINE fomp_set_lock(svar) - - USE omp_constants, ONLY : fomp_lock_kind IMPLICIT NONE @@ -509,17 +335,11 @@ SUBROUTINE fomp_set_lock(svar) INTEGER(KIND=fomp_lock_kind), INTENT(INOUT) :: svar - - - - END SUBROUTINE fomp_set_lock SUBROUTINE fomp_set_nest_lock(nvar) - - USE omp_constants, ONLY : fomp_nest_lock_kind IMPLICIT NONE @@ -528,17 +348,11 @@ SUBROUTINE fomp_set_nest_lock(nvar) INTEGER(KIND=fomp_nest_lock_kind), INTENT(INOUT) :: nvar - - - - END SUBROUTINE fomp_set_nest_lock SUBROUTINE fomp_unset_lock(svar) - - USE omp_constants, ONLY : fomp_lock_kind IMPLICIT NONE @@ -547,17 +361,11 @@ SUBROUTINE fomp_unset_lock(svar) INTEGER(KIND=fomp_lock_kind), INTENT(INOUT) :: svar - - - - END SUBROUTINE fomp_unset_lock SUBROUTINE fomp_unset_nest_lock(nvar) - - USE omp_constants, ONLY : fomp_nest_lock_kind IMPLICIT NONE @@ -566,17 +374,11 @@ SUBROUTINE fomp_unset_nest_lock(nvar) INTEGER(KIND=fomp_nest_lock_kind), INTENT(INOUT) :: nvar - - - - END SUBROUTINE fomp_unset_nest_lock FUNCTION fomp_test_lock(svar) - - USE omp_constants, ONLY : fomp_lock_kind IMPLICIT NONE @@ -586,21 +388,13 @@ FUNCTION fomp_test_lock(svar) INTEGER(KIND=fomp_lock_kind), INTENT(INOUT) :: svar LOGICAL :: fomp_test_lock - - - fomp_test_lock = .FALSE. - - - END FUNCTION fomp_test_lock FUNCTION fomp_test_nest_lock(nvar) - - USE omp_constants, ONLY : fomp_nest_lock_kind IMPLICIT NONE @@ -610,58 +404,34 @@ FUNCTION fomp_test_nest_lock(nvar) INTEGER(KIND=fomp_nest_lock_kind), INTENT(INOUT) :: nvar INTEGER :: fomp_test_nest_lock - - - fomp_test_nest_lock = -1 - - - END FUNCTION fomp_test_nest_lock FUNCTION fomp_get_wtime() - - - IMPLICIT NONE !f2py threadsafe REAL (KIND=8) :: fomp_get_wtime - - - fomp_get_wtime = -1 - - - END FUNCTION fomp_get_wtime FUNCTION fomp_get_wtick() - - - IMPLICIT NONE !f2py threadsafe REAL (KIND=8) :: fomp_get_wtick - - - fomp_get_wtick = -1 - - - END FUNCTION fomp_get_wtick diff --git a/fortran/wrffortran.pyf b/fortran/wrffortran.pyf index 8359fb7..b74da12 100644 --- a/fortran/wrffortran.pyf +++ b/fortran/wrffortran.pyf @@ -295,7 +295,10 @@ python module _wrffortran ! in integer, optional,check(shape(vert,0)==ew),depend(vert) :: ew=shape(vert,0) end subroutine dcloudfrac2 module wrf_constants ! in :_wrffortran:wrf_constants.f90 + real(kind=4), parameter,optional :: default_fill_float=9.96920996839e+36 + integer(kind=8), parameter,optional :: default_fill_int64=int(-9223372036854775806d0, kind=8) real(kind=8), parameter,optional :: wrf_earth_radius=6370000.d0 + character(len=1), parameter,optional :: default_fill_char=achar(0) real(kind=8), parameter,optional :: rhowat=1000.d0 real(kind=8), parameter,optional :: t_base=300.0d0 real(kind=8), parameter,optional :: cp=1004.5d0 @@ -305,6 +308,7 @@ python module _wrffortran ! in real(kind=8), parameter,optional :: p1000mb=100000.d0 real(kind=8), parameter,optional :: rv=461.6d0 real(kind=8), parameter,optional,depend(pi) :: rad_per_deg=pi/180.d0 + real(kind=8), parameter,optional :: default_fill_double=9.96920996839e+36 real(kind=8), parameter,optional :: rd=287.d0 real(kind=8), parameter,optional :: abscoef=.145d0 real(kind=8), parameter,optional :: celkel=273.15d0 @@ -312,16 +316,18 @@ python module _wrffortran ! in real(kind=8), parameter,optional :: eslcon2=29.65d0 real(kind=8), parameter,optional :: eslcon1=17.67d0 real(kind=8), parameter,optional :: pi=3.1415926535897932384626433d0 + integer(kind=1), parameter,optional :: default_fill_int8=-127 real(kind=8), parameter,optional :: tlclc2=3.5d0 real(kind=8), parameter,optional :: tlclc3=4.805d0 real(kind=8), parameter,optional :: rho_g=400.d0 real(kind=8), parameter,optional :: tlclc1=2840.d0 real(kind=8), parameter,optional :: tlclc4=55.d0 + integer(kind=2), parameter,optional :: default_fill_int16=-32767 real(kind=8), parameter,optional,depend(pi) :: deg_per_rad=180.d0/pi real(kind=8), parameter,optional :: cpmd=.887d0 real(kind=8), parameter,optional,depend(rd,g) :: sclht=rd*256.d0/g real(kind=8), parameter,optional :: ussalr=0.0065d0 - real(kind=8), parameter,optional :: default_fill=9.9692099683868690d36 + real(kind=8), parameter,optional :: default_fill=9.96920996839e+36 real(kind=8), parameter,optional :: rho_s=100.d0 real(kind=8), parameter,optional,depend(rhowat) :: rho_r=1000.0 real(kind=8), parameter,optional :: alpha=0.224d0 @@ -331,9 +337,10 @@ python module _wrffortran ! in real(kind=8), parameter,optional :: rgasmd=.608d0 real(kind=8), parameter,optional :: g=9.81d0 integer, optional :: errlen=512 - real(kind=8), parameter,optional :: eps=0.622d0 + integer(kind=4), parameter,optional :: default_fill_int32=-2147483647 real(kind=8), parameter,optional :: gamma_seven=720.d0 real(kind=8), parameter,optional,depend(cpmd,rgasmd) :: gammamd=-0.279 + real(kind=8), parameter,optional :: eps=0.622d0 integer, optional :: algerr=64 real(kind=8), parameter,optional,depend(cp,rd) :: gamma=0.285714285714 real(kind=8), parameter,optional,depend(expon,rd,ussalr,g) :: exponi=5.25864379523