Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

32-bit physics in FV3_RAP #930

Merged
merged 26 commits into from
Jul 19, 2022
Merged
Changes from 1 commit
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
213adc6
Update .gitmodules and submodule pointer for ccpp-physics for code re…
climbfuji May 22, 2022
a769f64
Interface changes in physics/aer_cloud.F to compile in single precision
climbfuji May 22, 2022
35fdb06
Change working precision in physics/flake.F90 to support compiling ph…
climbfuji May 22, 2022
a35dfda
Interface changes in physics/rrtmgp_lw_cloud_sampling.F90 and physics…
climbfuji May 22, 2022
82250de
Fix argument mismatch in w3nco subroutine calls
DusanJovic-NOAA May 26, 2022
510b51c
All suites can compile 32-bit.
SamuelTrahanNOAA Jun 7, 2022
0afd7d1
Merge commit '99f32c55b66160cfd75f5002d9b5ba7320e443a2' into i_hate_git
SamuelTrahanNOAA Jun 22, 2022
dbf9f51
merge 01e3d6b35c44b1f32abe8b294b414cc29b0ab554 (gsl fork)
SamuelTrahanNOAA Jun 22, 2022
d6978a2
Use max(...,1e-7) in 1-exner comparision for single precision
SamuelTrahanNOAA Jun 22, 2022
a0f46cb
flake gets its types from machine.F
SamuelTrahanNOAA Jun 22, 2022
2c720da
module_mp_fer_hires gets its types from machine.F
SamuelTrahanNOAA Jun 22, 2022
3ef025a
Merge commit '6e58242e1776b96db1297942f0ea6d961e7dde37' into i_hate_git
SamuelTrahanNOAA Jun 22, 2022
ad5a56f
merge 942f9adcef364f463158c7e7a097a97b4ddb76f7 (neptune 32-bit changes)
SamuelTrahanNOAA Jun 22, 2022
a9c97bb
Clean up machine.F and get rid of kind_evod & kind_rad
SamuelTrahanNOAA Jun 22, 2022
02bae89
Merge commit '77bcfb1b39f7e737ccffee842031dae228240227' into i_hate_git
SamuelTrahanNOAA Jun 22, 2022
9d7a3a5
Merge commit '1a9b050c342541b24638053dd7dcd60dd8653c7e' into i_hate_git
SamuelTrahanNOAA Jun 22, 2022
ddd21d3
Merge commit 'f25b5c402490835fe68d2693351d3e42cc3ed3cf' into i_hate_git
SamuelTrahanNOAA Jun 23, 2022
e775045
merge a35dfda1 (hopefully get all suites to compile)
SamuelTrahanNOAA Jun 23, 2022
78caef9
point to sam's rte-rrtmgp
SamuelTrahanNOAA Jun 23, 2022
fe8b228
merge working_32bit
SamuelTrahanNOAA Jun 23, 2022
855bf86
revert physics/aer_cloud.F to working_32bit version
SamuelTrahanNOAA Jun 23, 2022
d7a244f
point to authoritative repository for rte-rrtmgp
SamuelTrahanNOAA Jun 27, 2022
8b21863
Merge remote-tracking branch 'community/main' into sing_prec_from_main
SamuelTrahanNOAA Jul 1, 2022
70cdc31
correct a type mismatch in a call in module_sf_noahmplsm
SamuelTrahanNOAA Jul 1, 2022
18e35c6
better names for new variables in physics/module_sf_noahmplsm.f90
SamuelTrahanNOAA Jul 5, 2022
948471f
merge main and point to top of dtc/ccpp for physics/rte-rrtmgp
SamuelTrahanNOAA Jul 5, 2022
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
13 changes: 10 additions & 3 deletions physics/module_sf_noahmplsm.f90
Original file line number Diff line number Diff line change
Expand Up @@ -10823,6 +10823,7 @@ real*8 function zolri(ri,za,z0,zt,zol1,psi_opt)
real (kind=kind_phys) :: x1,x2,fx1,fx2
integer :: n
integer, parameter :: nmax = 20
real(kind=kind_phys) rphys_temp
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@SamuelTrahanNOAA for clarity, can you change this to something like rphys_dummy or rphys_temporary? at first, I was trying to figure out how this was a temperature.

it might be even more clear to name this variable zolri_iteration and the one below as zolrib_iteration or something similar.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Much better names. I just made that change.

!real, dimension(nmax):: zlhux
! real :: zolri2

Expand Down Expand Up @@ -10855,7 +10856,9 @@ real*8 function zolri(ri,za,z0,zt,zol1,psi_opt)

if (n==nmax .and. abs(x1 - x2) >= 0.01) then
!if convergence fails, use approximate values:
call li_etal_2010(zolri, ri, za/z0, z0/zt)
rphys_temp = zolri
call li_etal_2010(rphys_temp, ri, za/z0, z0/zt)
zolri = rphys_temp
!zlhux(n)=zolri
!print*,"iter fail, n=",n," ri=",ri," z0=",z0
else
Expand Down Expand Up @@ -10921,7 +10924,7 @@ real*8 function zolrib(ri,za,z0,zt,logz0,logzt,zol1,psi_opt)
integer :: n
integer, parameter :: nmax = 20
real (kind=kind_phys), dimension(nmax):: zlhux
real (kind=kind_phys) :: psit2,psix2
real (kind=kind_phys) :: psit2,psix2,phys_temp

! real :: psim_unstable, psim_stable
! real :: psih_unstable, psih_stable
Expand Down Expand Up @@ -10972,14 +10975,18 @@ real*8 function zolrib(ri,za,z0,zt,logz0,logzt,zol1,psi_opt)
if (n==nmax .and. abs(zolold - zolrib) > 0.01 ) then
!print*,"iter fail, n=",n," ri=",ri," z/l=",zolri
!if convergence fails, use approximate values:
call li_etal_2010(zolrib, ri, za/z0, z0/zt)
phys_temp = zolrib
call li_etal_2010(phys_temp, ri, za/z0, z0/zt)
zolrib = phys_temp
zlhux(n)=zolrib
!print*,"failed, n=",n," ri=",ri," z0=",z0
!print*,"z/l=",zlhux(1:nmax)
else
!if(zolrib*ri .lt. 0.) then
! !print*,"end: wrong quadrants: z/l=",zolrib," ri=",ri
! !phys_temp = zolrib
! !call li_etal_2010(zolrib, ri, za/z0, z0/zt)
! !zolrib = phys_temp
!endif
!print*,"success,n=",n," ri=",ri," z0=",z0
endif
Expand Down