From 8bddaf43c8603c28f75a76227e5a3f568c5dbfee Mon Sep 17 00:00:00 2001 From: uramirez8707 <49168881+uramirez8707@users.noreply.github.com> Date: Mon, 9 Sep 2024 10:56:00 -0500 Subject: [PATCH] minor corrections to reproduce answers (#357) Co-authored-by: Uriel Ramirez --- driver/GFDL/include/atmosphere.inc | 26 +++++++++++++++++--------- tools/fv_grid_tools.F90 | 6 +++--- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/driver/GFDL/include/atmosphere.inc b/driver/GFDL/include/atmosphere.inc index 2a29465a8..1ea7d526d 100644 --- a/driver/GFDL/include/atmosphere.inc +++ b/driver/GFDL/include/atmosphere.inc @@ -13,13 +13,21 @@ & in the Cubed Sphere') endif - do j=jsc,jec+1 - do i=isc,iec+1 - blon(i-isc+1,j-jsc+1) = _DBL_(_RL_(Atm(mygrid)%gridstruct%grid(i,j,1))) - blat(i-isc+1,j-jsc+1) = _DBL_(_RL_(Atm(mygrid)%gridstruct%grid(i,j,2))) - enddo - end do - + if (ATMOSPHERE_KIND_ .eq. r8_kind) then + do j=jsc,jec+1 + do i=isc,iec+1 + blon(i-isc+1,j-jsc+1) = Atm(mygrid)%gridstruct%grid_64(i,j,1) + blat(i-isc+1,j-jsc+1) = Atm(mygrid)%gridstruct%grid_64(i,j,2) + enddo + end do + else + do j=jsc,jec+1 + do i=isc,iec+1 + blon(i-isc+1,j-jsc+1) = Atm(mygrid)%gridstruct%grid(i,j,1) + blat(i-isc+1,j-jsc+1) = Atm(mygrid)%gridstruct%grid(i,j,2) + enddo + end do + endif end subroutine ATMOSPHERE_BOUNDARY_ subroutine ATMOSPHERE_PREF_ (p_ref) @@ -56,8 +64,8 @@ p_surf(i,j) = _DBL_(_RL_(Atm(mygrid)%ps(i,j))) t_bot(i,j) = _DBL_(_RL_(Atm(mygrid)%pt(i,j,npz))) p_bot(i,j) = _DBL_(_RL_(Atm(mygrid)%delp(i,j,npz)/(Atm(mygrid)%peln(i,npz+1,j)-Atm(mygrid)%peln(i,npz,j)))) - z_bot(i,j) = rrg*t_bot(i,j)*_DBL_(_RL_(1.+zvir*Atm(mygrid)%q(i,j,npz,sphum))) * & - _DBL_(_RL_(1. - Atm(mygrid)%pe(i,npz,j)/p_bot(i,j))) + z_bot(i,j) = rrg*t_bot(i,j)*_DBL_(_RL_((1.+zvir*Atm(mygrid)%q(i,j,npz,sphum)))) * & + _DBL_(_RL_((1. - Atm(mygrid)%pe(i,npz,j)/p_bot(i,j)))) enddo enddo diff --git a/tools/fv_grid_tools.F90 b/tools/fv_grid_tools.F90 index 9c3ceb749..a9f1bc1bd 100644 --- a/tools/fv_grid_tools.F90 +++ b/tools/fv_grid_tools.F90 @@ -21,9 +21,9 @@ module fv_grid_tools_mod #ifdef OVERLOAD_R4 - use constants_mod, only: grav, pi=>pi_8 + use constantsR4_mod, only: grav, pi=>pi_8 #else - use constantsR4_mod,only: grav, pi=>pi_8 + use constants_mod,only: grav, pi=>pi_8 #endif use fv_arrays_mod, only: radius, omega ! scaled for small earth ! use test_cases_mod, only: small_earth_scale @@ -89,7 +89,7 @@ subroutine read_grid(Atm, grid_file, ndims, nregions, ng) integer, intent(IN) :: ng type(FmsNetcdfFile_t) :: Grid_input - real, allocatable, dimension(:,:) :: tmpx, tmpy + real(kind=R_GRID), allocatable, dimension(:,:) :: tmpx, tmpy real(kind=R_GRID), pointer, dimension(:,:,:) :: grid character(len=128) :: units = "" character(len=256) :: atm_mosaic, atm_hgrid, grid_form