diff --git a/GEOS_Shared/CMakeLists.txt b/GEOS_Shared/CMakeLists.txt index 00550c2b..b0d39d1d 100644 --- a/GEOS_Shared/CMakeLists.txt +++ b/GEOS_Shared/CMakeLists.txt @@ -8,7 +8,7 @@ set (srcs getco2.F90 atmOceanIntLayer.F90 ) -esma_add_library(${this} SRCS ${srcs} DEPENDENCIES MAPL2 MAPL ESMF::ESMF NetCDF::NetCDF_Fortran) +esma_add_library(${this} SRCS ${srcs} DEPENDENCIES MAPL2 MAPL MAPL.geom ESMF::ESMF NetCDF::NetCDF_Fortran) # special cases set_source_files_properties(sphere.F PROPERTIES COMPILE_FLAGS "${FREAL8}") diff --git a/GEOS_Shared/OVP.F90 b/GEOS_Shared/OVP.F90 index d4ad0b73..9f41cccc 100644 --- a/GEOS_Shared/OVP.F90 +++ b/GEOS_Shared/OVP.F90 @@ -1,4 +1,4 @@ -#include "MAPL_Generic.h" +#include "MAPL.h" !BOP @@ -13,7 +13,9 @@ module OVP ! !USES: use ESMF - use MAPL2 + use MAPL + use MAPLBase_mod, only: MAPL_AM_I_ROOT, MAPL_PI_R8, MAPL_PackTime + use mapl3g_GridGet, only: GridGetCoordinates implicit none private @@ -72,7 +74,7 @@ subroutine OVP_init ( GC, GC_DT_LABEL, LONS, RUN_DT, GC_DT, RC ) TYPE(ESMF_GridComp), INTENT(inout) :: GC ! Gridded component CHARACTER(len=*), INTENT(in) :: GC_DT_LABEL ! String to get the GridComp-specific timestep - REAL(ESMF_KIND_R4), POINTER, INTENT(out) :: LONS(:,:) ! radians + REAL(ESMF_KIND_R8), POINTER, INTENT(out) :: LONS(:,:) ! radians INTEGER, INTENT(out) :: RUN_DT ! main timestep (seconds) INTEGER, INTENT(out) :: GC_DT ! GridComp timestep (seconds) INTEGER, OPTIONAL, INTENT(out) :: RC ! Error code @@ -103,7 +105,8 @@ subroutine OVP_init ( GC, GC_DT_LABEL, LONS, RUN_DT, GC_DT, RC ) CHARACTER(len=ESMF_MAXSTR) :: IAm INTEGER :: STATUS - type (MAPL_MetaComp), pointer :: STATE + type(ESMF_Grid) :: grid + REAL(ESMF_KIND_R8), pointer :: lats(:,:) TYPE (ESMF_Config) :: CF REAL :: dt1, dt2 @@ -112,9 +115,9 @@ subroutine OVP_init ( GC, GC_DT_LABEL, LONS, RUN_DT, GC_DT, RC ) IAm = "OVP_init" - call MAPL_GetObjectFromGC ( GC, STATE, __RC__ ) ! Get MAPL state + call MAPL_GridCompGet(GC, grid=grid, _RC) - call MAPL_Get( STATE, LONS=LONS, __RC__ ) ! Get LONS + call GridGetCoordinates(grid, LONS, lats, _RC) ! Get LONS call ESMF_GridCompGet ( GC, CONFIG=CF, __RC__ ) ! Get Config @@ -142,7 +145,7 @@ subroutine OVP_mask ( LONS, DELTA_TIME, OVERPASS_HOUR, MASK ) ! !ARGUMENTS - REAL, INTENT(IN) :: LONS(:,:) ! radians + REAL(ESMF_KIND_R8), INTENT(IN) :: LONS(:,:) ! radians INTEGER, INTENT(IN) :: DELTA_TIME ! seconds INTEGER, INTENT(IN) :: OVERPASS_HOUR INTEGER, ALLOCATABLE, INTENT(OUT) :: MASK(:,:) ! timestep closest to local overpass time, packed in hr/min/sec