diff --git a/atmos_model.F90 b/atmos_model.F90 index 81a5272c3..e6eea1b43 100644 --- a/atmos_model.F90 +++ b/atmos_model.F90 @@ -1477,6 +1477,10 @@ subroutine update_atmos_chemistry(state, rc) if (ESMF_LogFoundError(rcToCheck=localrc, msg=ESMF_LOGERR_PASSTHRU, & line=__LINE__, file=__FILE__, rcToReturn=rc)) return + call cplFieldGet(state,'inst_pres_interface', farrayPtr3d=prsi, rc=localrc) + if (ESMF_LogFoundError(rcToCheck=localrc, msg=ESMF_LOGERR_PASSTHRU, & + line=__LINE__, file=__FILE__, rcToReturn=rc)) return + if (GFS_Control%cplaqm) then call cplFieldGet(state,'canopy_moisture_storage', farrayPtr2d=canopy, rc=localrc) @@ -1541,10 +1545,6 @@ subroutine update_atmos_chemistry(state, rc) else - call cplFieldGet(state,'inst_pres_interface', farrayPtr3d=prsi, rc=localrc) - if (ESMF_LogFoundError(rcToCheck=localrc, msg=ESMF_LOGERR_PASSTHRU, & - line=__LINE__, file=__FILE__, rcToReturn=rc)) return - call cplFieldGet(state,'inst_liq_nonconv_tendency_levels', & farrayPtr3d=pflls, rc=localrc) if (ESMF_LogFoundError(rcToCheck=localrc, msg=ESMF_LOGERR_PASSTHRU, & @@ -1592,6 +1592,7 @@ subroutine update_atmos_chemistry(state, rc) ix = Atm_block%ixp(ib,jb) !--- interface values phii(i,j,k) = GFS_data(nb)%Statein%phii(ix,k) + prsi(i,j,k) = GFS_data(nb)%Statein%prsi(ix,k) !--- layer values prsl(i,j,k) = GFS_Data(nb)%Statein%prsl(ix,k) phil(i,j,k) = GFS_Data(nb)%Statein%phil(ix,k) @@ -1600,8 +1601,6 @@ subroutine update_atmos_chemistry(state, rc) va (i,j,k) = GFS_Data(nb)%Stateout%gv0(ix,k) cldfra(i,j,k) = GFS_Data(nb)%IntDiag%cldfra(ix,k) if (.not.GFS_Control%cplaqm) then - !--- interface values - prsi(i,j,k) = GFS_data(nb)%Statein%prsi(ix,k) !--- layer values pfils (i,j,k) = GFS_Data(nb)%Coupling%pfi_lsan(ix,k) pflls (i,j,k) = GFS_Data(nb)%Coupling%pfl_lsan(ix,k) @@ -1620,8 +1619,7 @@ subroutine update_atmos_chemistry(state, rc) nb = Atm_block%blkno(ib,jb) ix = Atm_block%ixp(ib,jb) phii(i,j,k) = GFS_data(nb)%Statein%phii(ix,k) - if (.not.GFS_Control%cplaqm) & - prsi(i,j,k) = GFS_data(nb)%Statein%prsi(ix,k) + prsi(i,j,k) = GFS_data(nb)%Statein%prsi(ix,k) enddo enddo @@ -1728,6 +1726,7 @@ subroutine update_atmos_chemistry(state, rc) if (GFS_control%debug) then ! -- diagnostics + write(6,'("update_atmos: prsi - min/max/avg",3g16.6)') minval(prsi), maxval(prsi), sum(prsi)/size(prsi) write(6,'("update_atmos: phii - min/max/avg",3g16.6)') minval(phii), maxval(phii), sum(phii)/size(phii) write(6,'("update_atmos: prsl - min/max/avg",3g16.6)') minval(prsl), maxval(prsl), sum(prsl)/size(prsl) write(6,'("update_atmos: phil - min/max/avg",3g16.6)') minval(phil), maxval(phil), sum(phil)/size(phil) @@ -1766,7 +1765,6 @@ subroutine update_atmos_chemistry(state, rc) write(6,'("update_atmos: xlai - min/max/avg",3g16.6)') minval(xlai), maxval(xlai), sum(xlai)/size(xlai) write(6,'("update_atmos: stype - min/max/avg",3g16.6)') minval(stype), maxval(stype), sum(stype)/size(stype) else - write(6,'("update_atmos: prsi - min/max/avg",3g16.6)') minval(prsi), maxval(prsi), sum(prsi)/size(prsi) write(6,'("update_atmos: flake - min/max/avg",3g16.6)') minval(flake), maxval(flake), sum(flake)/size(flake) write(6,'("update_atmos: focn - min/max/avg",3g16.6)') minval(focn), maxval(focn), sum(focn)/size(focn) write(6,'("update_atmos: shfsfc - min/max/avg",3g16.6)') minval(shfsfc), maxval(shfsfc), sum(shfsfc)/size(shfsfc)