Skip to content

Commit

Permalink
feature/orion This commit references ufs-community#96.
Browse files Browse the repository at this point in the history
Update 'global_chgres' build for Orion.
  • Loading branch information
GeorgeGayno-NOAA committed Apr 2, 2020
1 parent 410e748 commit f579b3d
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 35 deletions.
26 changes: 26 additions & 0 deletions modulefiles/fv3gfs/global_chgres.orion
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#%Module#####################################################
## global_chgres component - Orion
#############################################################

# Loading Intel Compiler Suite
module load intel/2020
module load impi/2020

# Loding nceplibs modules
module use -a $MOD_PATH
module load sigio/2.2.0
module load w3nco/2.1.0
module load w3emc/2.5.0
module load sp/2.1.0
module load bacio/2.2.0
module load nemsio/2.3.0
module load nemsiogfs/2.3.0
module load ip/3.1.0
module load sfcio/1.2.0
module load gfsio/1.2.0
module load landsfcutil/2.2.0
module load netcdf/4.7.2-parallel
export NETCDF_INCLUDE=$NETCDF_INCLUDE_DIRS
export NETCDF_LDFLAGS_F="-L${NETCDF_LIBRARY_DIRS} -lnetcdff"

set FCMP ifort
70 changes: 35 additions & 35 deletions sorc/global_chgres.fd/chgres_utils.f90
Original file line number Diff line number Diff line change
Expand Up @@ -536,8 +536,8 @@ SUBROUTINE VINTG(IM,IX,KM1,KM2,NT,P1,U1,V1,T1,Q1,W1,P2, &
! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
! COMPUTE LOG PRESSURE INTERPOLATING COORDINATE
! AND COPY INPUT WIND, TEMPERATURE, HUMIDITY AND OTHER TRACERS
!$OMP PARALLEL DO DEFAULT(SHARED)
!$OMP+ PRIVATE(K,I)
!$OMP PARALLEL DO DEFAULT(SHARED), &
!$OMP& PRIVATE(K,I)
DO K=1,KM1
DO I=1,IM
Z1(I,K) = -LOG(P1(I,K))
Expand All @@ -556,8 +556,8 @@ SUBROUTINE VINTG(IM,IX,KM1,KM2,NT,P1,U1,V1,T1,Q1,W1,P2, &
ENDDO
ENDDO
ENDDO
!$OMP PARALLEL DO DEFAULT(SHARED)
!$OMP+ PRIVATE(K,I)
!$OMP PARALLEL DO DEFAULT(SHARED), &
!$OMP& PRIVATE(K,I)
DO K=1,KM2
DO I=1,IM
Z2(I,K) = -LOG(P2(I,K))
Expand Down Expand Up @@ -678,9 +678,9 @@ SUBROUTINE TERP3(IM,IXZ1,IXQ1,IXZ2,IXQ2,NM,NXQ1,NXQ2, &
! BUT WITHIN THE TWO EDGE INTERVALS INTERPOLATE LINEARLY.
! KEEP THE OUTPUT FIELDS CONSTANT OUTSIDE THE INPUT DOMAIN.

!$OMP PARALLEL DO DEFAULT(PRIVATE) SHARED(IM,IXZ1,IXQ1,IXZ2)
!$OMP+ SHARED(IXQ2,NM,NXQ1,NXQ2,KM1,KXZ1,KXQ1,Z1,Q1,KM2,KXZ2)
!$OMP+ SHARED(KXQ2,Z2,Q2,J2,K1S)
!$OMP PARALLEL DO DEFAULT(PRIVATE) SHARED(IM,IXZ1,IXQ1,IXZ2) , &
!$OMP& SHARED(IXQ2,NM,NXQ1,NXQ2,KM1,KXZ1,KXQ1,Z1,Q1,KM2,KXZ2) , &
!$OMP& SHARED(KXQ2,Z2,Q2,J2,K1S)

DO K2=1,KM2
DO I=1,IM
Expand Down Expand Up @@ -1085,8 +1085,8 @@ SUBROUTINE SPECSETS(H,D,IDRT)
deallocate (vcoord)
! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
if(h%idvt==100.and.h%ntrac==20) then
!$OMP PARALLEL DO DEFAULT(SHARED)
!$OMP+ PRIVATE(i,j,clat,rlon,k)
!$OMP PARALLEL DO DEFAULT(SHARED) , &
!$OMP& PRIVATE(i,j,clat,rlon,k)
do j=1,h%latb
clat=sqrt(1-slat(j)**2)
do i=1,h%lonb
Expand Down Expand Up @@ -1247,8 +1247,8 @@ SUBROUTINE NEWPR1(IM,IX,KM,KMP,IDVC,IDVM,IDSL,NVCOORD,VCOORD, &
if (thermodyn_id <= 1) then
!!$OMP PARALLEL DO DEFAULT(PRIVATE) SHARED(KM,kmp,IM)
!!$OMP+ SHARED(qn,qp,TOV,PI,AK,BK,PS,CK)
!$omp parallel do shared(km,kmp,im,qp,tp,tov,pi,ak,bk,ck)
!$omp1 private(i,k,tem,qnk,trk)
!$omp parallel do shared(km,kmp,im,qp,tp,tov,pi,ak,bk,ck) , &
!$omp& private(i,k,tem,qnk,trk)
DO K=2,KM
tem = float(k-1) / float(kmp-1)
DO I=1,IM
Expand Down Expand Up @@ -1283,12 +1283,12 @@ SUBROUTINE NEWPR1(IM,IX,KM,KMP,IDVC,IDVM,IDSL,NVCOORD,VCOORD, &
endif

DPMINALL=1000.0
!$omp parallel do
!$omp1 shared(im,km,kmp,ntracm,thermodyn_id,pp,tp,qp,cpi,cp0i)
!$omp1 shared(ak,bk,ck,pi)
!$omp1 private(i,k,nit,converg,dpmin,tvu,tvd,trk)
!$omp1 private(pio,po,to,qo,pn,tn,qn,akbkps)
!$omp1 private(xcp,xcp2,sumq,sumq2,temu,temd)
!$omp parallel do , &
!$omp& shared(im,km,kmp,ntracm,thermodyn_id,pp,tp,qp,cpi,cp0i) , &
!$omp& shared(ak,bk,ck,pi) ,&
!$omp& private(i,k,nit,converg,dpmin,tvu,tvd,trk) ,&
!$omp& private(pio,po,to,qo,pn,tn,qn,akbkps) ,&
!$omp& private(xcp,xcp2,sumq,sumq2,temu,temd)
!
DO I=1,IM
DO K=1,KMP
Expand Down Expand Up @@ -1439,8 +1439,8 @@ SUBROUTINE CHECKDP(IM,IX,KM,AK,BK,CK,PS,TP,QP)
ENDDO
PI(1:IM,1)=PS(1:IM)
PI(1:IM,KM+1)=0.0
!$OMP PARALLEL DO DEFAULT(SHARED)
!$OMP+ PRIVATE(K,I,TVU,TVD,TRK)
!$OMP PARALLEL DO DEFAULT(SHARED) , &
!$OMP& PRIVATE(K,I,TVU,TVD,TRK)
DO K=2,KM
DO I=1,IM
TVU=FTV(TP(I,K ),QP(I,K ))
Expand Down Expand Up @@ -1518,16 +1518,16 @@ SUBROUTINE VINTTQ(KM1,KM2,P1,T1,Q1,P2,T2,Q2)
! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
! COMPUTE LOG PRESSURE INTERPOLATING COORDINATE
! AND COPY INPUT WIND, TEMPERATURE, HUMIDITY AND OTHER TRACERS
!$OMP PARALLEL DO DEFAULT(SHARED)
!$OMP+ PRIVATE(K)
!$OMP PARALLEL DO DEFAULT(SHARED) , &
!$OMP& PRIVATE(K)
DO K=1,KM1
Z1(1,K)=-LOG(P1(K))
C1(1,K,1)=T1(K)
C1(1,K,2)=Q1(K)
ENDDO
!$OMP END PARALLEL DO
!$OMP PARALLEL DO DEFAULT(SHARED)
!$OMP+ PRIVATE(K)
!$OMP PARALLEL DO DEFAULT(SHARED), &
!$OMP& PRIVATE(K)
DO K=1,KM2
Z2(1,K)=-LOG(P2(K))
ENDDO
Expand Down Expand Up @@ -1741,8 +1741,8 @@ SUBROUTINE VINTTR(IM,IX,KM1,KM2,NT,P1,T1,Q1,P2,T2,Q2)
! COMPUTE LOG PRESSURE INTERPOLATING COORDINATE
! AND COPY INPUT WIND, TEMPERATURE, HUMIDITY AND OTHER TRACERS

!$OMP PARALLEL DO DEFAULT(SHARED)
!$OMP+ PRIVATE(K,I)
!$OMP PARALLEL DO DEFAULT(SHARED) , &
!$OMP& PRIVATE(K,I)
DO K=1,KM1
DO I=1,IM
Z1(I,K)=-LOG(P1(I,K))
Expand All @@ -1758,8 +1758,8 @@ SUBROUTINE VINTTR(IM,IX,KM1,KM2,NT,P1,T1,Q1,P2,T2,Q2)
ENDDO
ENDDO
ENDDO
!$OMP PARALLEL DO DEFAULT(SHARED)
!$OMP+ PRIVATE(K,I)
!$OMP PARALLEL DO DEFAULT(SHARED) , &
!$OMP& PRIVATE(K,I)
DO K=1,KM2
DO I=1,IM
Z2(I,K)=-LOG(P2(I,K))
Expand Down Expand Up @@ -1829,25 +1829,25 @@ subroutine getomega(jcap,nc,km,idvc,idvm,idrt,idsl,nvcoord, &
CASE(0,1)
continue
CASE(2)
!$OMP PARALLEL DO DEFAULT(SHARED)
!$OMP+ PRIVATE(i)
!$OMP PARALLEL DO DEFAULT(SHARED) , &
!$OMP& PRIVATE(i)
do i=1,ijn
psx(i)=psx(i)/(psi(i)*1.0E-3)
psy(i)=psy(i)/(psi(i)*1.0E-3)
enddo
!$OMP END PARALLEL DO
CASE DEFAULT
!$OMP PARALLEL DO DEFAULT(SHARED)
!$OMP+ PRIVATE(i)
!$OMP PARALLEL DO DEFAULT(SHARED) , &
!$OMP& PRIVATE(i)
do i=1,ijn
psx(i)=psx(i)/psi(i)
psy(i)=psy(i)/psi(i)
enddo
!$OMP END PARALLEL DO
END SELECT

!$OMP PARALLEL DO DEFAULT(SHARED)
!$OMP+ PRIVATE(K)
!$OMP PARALLEL DO DEFAULT(SHARED) , &
!$OMP& PRIVATE(K)
do K=1,km
call sptran(0,jcap,idrt,lonb,latb,1,1,1,lonb2,lonb2,nc,ijn, &
j1,j2,jc,sd(1,k),di(in,k),di(is,k),1)
Expand All @@ -1858,8 +1858,8 @@ subroutine getomega(jcap,nc,km,idvc,idvm,idrt,idsl,nvcoord, &
ps=psi,t=ti,pm=pm,pd=pd,dpmdps=dpmdps,dpddps=dpddps)

!----3.omeda from modstuff
!$OMP PARALLEL DO DEFAULT(SHARED)
!$OMP+ PRIVATE(i)
!$OMP PARALLEL DO DEFAULT(SHARED) , &
!$OMP& PRIVATE(i)
do i=1,ijl
pi(i,1)=psi(i)
dpidps(i,1)=1.
Expand Down

0 comments on commit f579b3d

Please sign in to comment.