- 积分
- 38420
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-6-20
- 最后登录
- 1970-1-1
成长值: 0
|
发表于 2015-7-1 08:41:14
|
显示全部楼层
这是前两天论坛小伙伴发的一个帖子,将其中一个子程序粘贴给你:
SUBROUTINE CAL_THSE(P,T,TD,LEV,THSE) !! 计算假相当位温
C THIS SUBROUTINE CALCULATE PSEUDO-EQUIVALENT POTENTIAL TEMPERATURE
C AND IT IS USED WITH CAL_TC_PC,CAL_TA,CAL_TE,CAL_ENGY,
C IN WHICH SUBROUTINE CAL_TA AND CAL_TC_PC ARE USED WITH CAL_THSE
C INPUT T ======> TEMPERATURE (CELSIUS DEGREE)
C TD =====> DEW POINT (CELSIUS DEGREE)
C P ======> PRESSURE (HPA)
C LEV ====> LEVEL
C OUTPUT THSE ===> PSEUDO EQUIVALENT POTENTIAL TEMPERATURE (KELVIN)
C TEMP ARRAY
DIMENSION P(LEV),T(LEV),TD(LEV),THSE(LEV)
REAL A,B,THSE,TCM,PCM,ECM
DO K=1,LEV
IF(T(K).LT.80.AND.TD(K).LT.80)THEN
TCM=T(K)-(T(K)-TD(K))*0.976/(0.976-0.000833
1 *(237.3+TD(K))**2/(273.15+TD(K)))
PCM=P(K)*((273.15+TCM)/(273.15+T(K)))**3.5
IF(TCM.GE.0)A=7.5*TCM/(237.3+TCM)
IF(TCM.LT.0)A=9.5*TCM/(265.5+TCM)
ECM=6.112*10.**A
B=1000.0/(PCM-ECM)
! WRITE(*,*)PCM
THSE(K)=(273.16+TCM)*B**0.286*EXP((2.5*10.**6-2368.*TCM)
1 *0.622*ECM/(1004.*(273.16+TCM)*(PCM-ECM)))
ELSE
THSE(K)=9999.0
ENDIF
ENDDO
RETURN
END
|
|