Hi, friends,
When I set progn==0 in Morrison microphysics scheme, I want to kown how to add qndrop to the output variable.
And I did some code modifications in Rregistry of WRF model.
Here is the modifications.
After running the integration for 12 hours, WRF model collapsed and the display is as follows.
And I noticed this procedure called module_sf_ruclsm have a subroutine issued this error instruction. Here is the VILKA subroutine.
Is the modification I made inappropriate?
How should I modify it to get the qndrop variable in the case of progn=0?
Best Regards!
yours sicerely,
Cxyiyh.
When I set progn==0 in Morrison microphysics scheme, I want to kown how to add qndrop to the output variable.
And I did some code modifications in Rregistry of WRF model.
Here is the modifications.
2864 package noprogn progn==0 - -
2865 package progndrop progn==1 - scalar:qndrop;dfi_scalar:dfi_qndrop;state:qndropsource
changed to:
2864 package noprogn progn==0 - scalar:qndrop;dfi_scalar:dfi_qndrop
2865 package progndrop progn==1 - scalar:qndrop;dfi_scalar:dfi_qndrop;state:qndropsource
After running the integration for 12 hours, WRF model collapsed and the display is as follows.
Code:
==> rsl.error.0008 <==
newnucbb avgs 2.58E+02 4.22E-01 1.56E-10 8.19E-13 7.36E-11 2.25E+02
newnucbb hinuc 2.33E+02 3.34E-01 9.07E-11 4.54E-13 3.60E-13 8.48E+05
newnucbb dtnuc 9.00E+01
newnucbb ncnt 22572 11 0 0 0 0 0
coagbb ncntaa 22572 0 628 1280 3163 0 0 0 0 0
-------------- FATAL CALLED ---------------
FATAL CALLED FROM FILE: module_sf_ruclsm.b LINE: 6481
Crash in surface energy budget
-------------------------------------------
Abort(1) on node 8 (rank 8 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 1) - process 8
And I noticed this procedure called module_sf_ruclsm have a subroutine issued this error instruction. Here is the VILKA subroutine.
Code:
SUBROUTINE VILKA(TN,D1,D2,PP,QS,TS,TT,NSTEP,ii,j,iland,isoil)
!--------------------------------------------------------------
!--- VILKA finds the solution of energy budget at the surface
!--- using table T,QS computed from Clausius-Klapeiron
!--------------------------------------------------------------
REAL, DIMENSION(1:5001), INTENT(IN ) :: TT
REAL, INTENT(IN ) :: TN,D1,D2,PP
INTEGER, INTENT(IN ) :: NSTEP,ii,j,iland,isoil
REAL, INTENT(OUT ) :: QS, TS
REAL :: F1,T1,T2,RN
INTEGER :: I,I1
I=(TN-1.7315E2)/.05+1
T1=173.1+FLOAT(I)*.05
F1=T1+D1*TT(I)-D2
I1=I-F1/(.05+D1*(TT(I+1)-TT(I)))
I=I1
IF(I.GT.5000.OR.I.LT.1) GOTO 1
10 I1=I
T1=173.1+FLOAT(I)*.05
F1=T1+D1*TT(I)-D2
RN=F1/(.05+D1*(TT(I+1)-TT(I)))
I=I-INT(RN)
IF(I.GT.5000.OR.I.LT.1) GOTO 1
IF(I1.NE.I) GOTO 10
TS=T1-.05*RN
QS=(TT(I)+(TT(I)-TT(I+1))*RN)/PP
GOTO 20
! 1 PRINT *,'Crash in surface energy budget - STOP'
1 PRINT *,' AVOST IN VILKA Table index= ',I
! PRINT *,TN,D1,D2,PP,NSTEP,I,TT(i),ii,j,iland,isoil
print *,'I,J=',ii,j,'LU_index = ',iland, 'Psfc[hPa] = ',pp, 'Tsfc = ',tn
CALL wrf_error_fatal (' Crash in surface energy budget ' )
20 CONTINUE
!-----------------------------------------------------------------------
END SUBROUTINE VILKA
How should I modify it to get the qndrop variable in the case of progn=0?
Best Regards!
yours sicerely,
Cxyiyh.