@@ -51,7 +51,7 @@ module atmosphere
51
51
terrain_target_grid
52
52
53
53
use program_setup, only : vcoord_file_target_grid, &
54
- wam_cold_start, &
54
+ wam_cold_start, wam_parm_file, &
55
55
cycle_year, cycle_mon, &
56
56
cycle_day, cycle_hour, &
57
57
regional, &
@@ -349,7 +349,7 @@ subroutine atmosphere_driver(localpet)
349
349
call vintg
350
350
351
351
if ( wam_cold_start ) then
352
- call vintg_wam (cycle_year,cycle_mon,cycle_day,cycle_hour)
352
+ call vintg_wam (cycle_year,cycle_mon,cycle_day,cycle_hour,wam_parm_file )
353
353
endif
354
354
355
355
!- ----------------------------------------------------------------------------------
@@ -1521,15 +1521,17 @@ END SUBROUTINE VINTG_THOMP_MP_CLIMO
1521
1521
! ! @param [in] month initial month
1522
1522
! ! @param [in] day initial day
1523
1523
! ! @param [in] hour initial hour
1524
+ ! ! @param [in] pf path to MSIS2.1 parm file
1524
1525
! !
1525
1526
! ! @author Hann-Ming Henry Juang NCEP/EMC
1526
- SUBROUTINE VINTG_WAM (YEAR ,MONTH ,DAY ,HOUR )
1527
+ SUBROUTINE VINTG_WAM (YEAR ,MONTH ,DAY ,HOUR , PF )
1527
1528
1528
1529
IMPLICIT NONE
1529
1530
1530
1531
include ' mpif.h'
1531
1532
1532
1533
INTEGER , INTENT (IN ) :: YEAR,MONTH,DAY,HOUR
1534
+ CHARACTER (* ), INTENT (IN ) :: PF
1533
1535
1534
1536
REAL (ESMF_KIND_R8 ), PARAMETER :: AMO = 15.9994 ! molecular weight of o
1535
1537
REAL (ESMF_KIND_R8 ), PARAMETER :: AMO2 = 31.999 ! molecular weight of o2
@@ -1650,11 +1652,9 @@ SUBROUTINE VINTG_WAM (YEAR,MONTH,DAY,HOUR)
1650
1652
DO K= 1 ,LEV_TARGET
1651
1653
IF (P2PTR(I,J,K).le. P1PTR(I,J,LEV_INPUT)) THEN
1652
1654
KREF = K-1
1653
- ! x print*,'VINTG_WAM: KREF P1 P2 ',KREF,P1PTR(I,J,LEV_INPUT),P2PTR(I,J,K)
1654
- GO TO 11
1655
+ EXIT
1655
1656
ENDIF
1656
1657
ENDDO
1657
- 11 CONTINUE
1658
1658
!
1659
1659
DO K= KREF,LEV_TARGET
1660
1660
COE = P2PTR(I,J,K) / P2PTR(I,J,KREF)
@@ -1683,10 +1683,9 @@ SUBROUTINE VINTG_WAM (YEAR,MONTH,DAY,HOUR)
1683
1683
DO K= 1 ,LEV_TARGET
1684
1684
IF (P2PTR(I,J,K).le. P1PTR(I,J,LEV_INPUT)) THEN
1685
1685
KREF = K-1
1686
- GO TO 22
1686
+ EXIT
1687
1687
ENDIF
1688
1688
ENDDO
1689
- 22 CONTINUE
1690
1689
!
1691
1690
DO K= KREF,LEV_TARGET
1692
1691
COE = MIN (1.0 , P2PTR(I,J,K) / P2PTR(I,J,KREF) )
@@ -1712,7 +1711,7 @@ SUBROUTINE VINTG_WAM (YEAR,MONTH,DAY,HOUR)
1712
1711
DO K= 1 ,LEV_TARGET
1713
1712
PRMB(K) = P2PTR(I,J,K) * 0.01
1714
1713
ENDDO
1715
- CALL GETTEMP(ICDAY,1 , DEGLAT,1 , PRMB,LEV_TARGET,TEMP,ON,O2N,N2N)
1714
+ CALL GETTEMP(ICDAY,DEGLAT,PRMB,LEV_TARGET,PF ,TEMP,ON,O2N,N2N)
1716
1715
!
1717
1716
DO K= 1 ,LEV_TARGET
1718
1717
SUMMASS = ON(K)* AMO+ O2N(K)* AMO2+ N2N(K)* AMN2
@@ -1730,10 +1729,9 @@ SUBROUTINE VINTG_WAM (YEAR,MONTH,DAY,HOUR)
1730
1729
DO K= 1 ,LEV_TARGET
1731
1730
IF (P2PTR(I,J,K).le. P1PTR(I,J,LEV_INPUT)) THEN
1732
1731
KREF = K-1
1733
- GO TO 33
1732
+ EXIT
1734
1733
ENDIF
1735
1734
ENDDO
1736
- 33 CONTINUE
1737
1735
!
1738
1736
DO K= KREF,LEV_TARGET
1739
1737
T2PTR(I,J,K) = TEMP(K)
0 commit comments