Skip to content
Merged
Changes from 1 commit
Commits
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
32 changes: 32 additions & 0 deletions src/aqm_cap.F90
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,9 @@ module AQM
/)

private

real(8), parameter :: pi = 3.1415926535897931
real(8), parameter :: rad2deg = 180./pi
Comment thread
JianpingHuang-NOAA marked this conversation as resolved.
Outdated

public SetServices

Expand Down Expand Up @@ -247,6 +250,7 @@ subroutine DataInitialize(model, rc)
type(ESMF_GeomType_flag) :: geomtype
type(ESMF_DistGrid) :: distgrid
type(ESMF_Array) :: array

integer :: de, item, localrc, localDe, tile
integer :: comm, localPet
real(ESMF_KIND_R8), dimension(:,:), pointer :: coord
Expand All @@ -261,7 +265,11 @@ subroutine DataInitialize(model, rc)
real(ESMF_KIND_R8) :: dts
type(ESMF_Time) :: startTime
type(ESMF_TimeInterval) :: TimeStep
type(ESMF_CoordSys_Flag) :: aqmGridCoordSys
character(len=ESMF_MAXSTR) :: msgString, name
!test:
integer :: tlb(2), tub(2)

Comment thread
BrianCurtis-NOAA marked this conversation as resolved.

! begin
rc = ESMF_SUCCESS
Expand Down Expand Up @@ -310,6 +318,10 @@ subroutine DataInitialize(model, rc)
! -- assume all fields on same grid and use first field
call ESMF_StateGet(importState, field=field, &
itemName=trim(importFieldNames(1)), rc=rc)
! write(msgString,*) &
! "hjp501a=", trim(importFieldNames(1))
! call ESMF_LogWrite(trim(name)//": hjp501: &
! "//trim(msgString),ESMF_LOGMSG_INFO, rc=rc)
Comment thread
JianpingHuang-NOAA marked this conversation as resolved.
Outdated
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
Expand All @@ -322,6 +334,12 @@ subroutine DataInitialize(model, rc)

if (geomtype == ESMF_GEOMTYPE_GRID) then
call ESMF_FieldGet(field, grid=grid, array=array, rc=rc)
! write(msgString,*) &
! item,coord
! call ESMF_LogWrite(trim(name)//": hjp602:
! "//trim(msgString),ESMF_LOGMSG_INFO, rc=rc)


if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
Expand Down Expand Up @@ -413,14 +431,28 @@ subroutine DataInitialize(model, rc)
end if

! -- get local coordinate arrays
call ESMF_GridGet(grid, coordSys=aqmGridCoordSys, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
return ! bail out

do item = 1, 2
call ESMF_GridGetCoord(grid, coordDim=item, staggerloc=ESMF_STAGGERLOC_CENTER, &
totalLBound=tlb, totalUBound=tub, &
localDE=localDe, farrayPtr=coord, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, &
line=__LINE__, &
file=__FILE__)) &
return ! bail out
if (aqmGridCoordSys == ESMF_COORDSYS_SPH_RAD) then
coord = coord * rad2deg
endif
print *,'in AQM, get lon(0,0)=',coord(tlb(1),tlb(2)), 'tlb=',tlb,'tub=',tub &
,'localPet=',localPet

Comment thread
JianpingHuang-NOAA marked this conversation as resolved.
Outdated
call aqm_model_domain_coord_set(item, coord, de=localDe, rc=rc)

if (aqm_rc_check(rc)) then
call ESMF_LogSetError(ESMF_RC_INTNRL_BAD, &
msg="Failed to set coordinates for air quality model", &
Expand Down