Page 1 of 1

arw2arl error: STOP 900

Posted: February 26th, 2024, 10:27 pm
by jmarlow
I am having an issue with the arw2arl command. For some reason I get the following error:

STOP 900
Using an existing decoding configuration: WRFDATA.CFG
ERROR: incorrectly defined polar projection in WRF!
TRUELAT1 does not equal TRUELAT2: 40.0000000 60.0000000
TRUELAT1 defines the latitude at which the grid resolution is defined.

How can I work around this? For reference my WRFDATA.CFG file looks like this:

&SETUP
num3dv = 9,
arw3dv = 'P','T','U','V','W','X','QVAPOR','TKE_PBL','X',
cnv3dv = 0.01, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
arl3dv = 'PRES','THET','UWND','VWND','WWND','DIFW','SPHU','TKEN','DIFT',
num2dv = 17,
arw2dv = 'HGT','PSFC','RAIN','X','PBLH','UST','SWDOWN','HFX','LH','T2','U10','V10','MAPFAC_M','MAPFAC_V','MAPFAC_U','MUB','MU',
cnv2dv = 1.0, 0.01, 0.001, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
arl2dv = 'SHGT','PRSS','TPP1','DIFR','PBLH','USTR','DSWF','SHTF','LHTF','T02M','U10M','V10M','MSFT','MSFV','MSFU','MUBA','MUPE',
/

Re: arw2arl error: STOP 900

Posted: February 29th, 2024, 1:08 pm
by jmarlow
As a follow-up, I am using the same WRFDATA.CFG file that I successfully used for a previous run. The major difference between the two WRF outputs is that one is in Lambert Conformal projection while this one is in Polar Stereographic projection.

Do I need to edit the ARLDATA.CFG and/or WRFDATA.CFG files? Should I include the WRF header file of the new output I am working with in the directory where I issue the arw2arl command?

Re: arw2arl error: STOP 900

Posted: March 1st, 2024, 12:26 pm
by Fantine
Please try the following:

1) Delete the old ARLDATA.CFG when you process WRF files that have different map projection from your previous run. The WRFDATA.CFG file is a list of WRF variables matching HYSPLIT required variables. It has nothing to do with WRF's domain configuration and map projection.

2) For polar projection, WRF does not use TRUELAT2 anyway. If it is not the same as TRUELAT1, the work around is to modify setmap.f in [HYSPLIT direcotry]/data2arl/arw2arl:
Add "PLAT=TLAT" into setmap.f before checking TLAT and PLAT, which is line #131
TRUELAT1 is read in as TLAT
TRUELAT2 is read in as PLAT

Re: arw2arl error: STOP 900

Posted: March 4th, 2024, 3:38 pm
by jmarlow
I just tried this, but I am still receiving the same error. I deleted the ARLDATA.CFG file and added "PLAT=TLAT" before the if statement on line 131. However, I am still receiving the same error. Is there anything else I could try?

Re: arw2arl error: STOP 900

Posted: March 5th, 2024, 12:52 pm
by Fantine
I can process a WRF file with polar project and diff TRUELAT1 and TRUELAT2. The converter works by adding "plat=tlat" before the if statement. You may print out tlat and plat to make sure they are set to the same values (TRUELAT1).

IF(iproj.EQ.2)THEN
plat=tlat
print*,tlat,plat

IF(TLAT.NE.PLAT)THEN
WRITE(*,*)'ERROR: incorrectly defined polar projection in WRF!'
WRITE(*,*)'TRUELAT1 does not equal TRUELAT2: ',TLAT,PLAT
WRITE(*,*)'TRUELAT1 defines the latitude at which the grid resolution is defined.'
STOP 900
END IF

Re: arw2arl error: STOP 900

Posted: March 5th, 2024, 3:22 pm
by jmarlow
Is the STOP 900 error coded anywhere besides setmap.f? I tried commenting out that entire block of code since only TLAT is required for the polar projection. And yet, when I ran arw2arl I still received the same STOP 900 error message. When I tried setting "plat=tlat" (above line 131) and adding the print statement under it, the print statement was ignored and I received the same STOP 900 error message. Here are the two solutions I have tried:

*Commenting out the STOP 900 Error*
! defines a polar sterographic projection
IF(iproj.EQ.2)THEN

! IF(TLAT.NE.PLAT)THEN
! WRITE(*,*)'ERROR: incorrectly defined polar projection in WRF!'
! WRITE(*,*)'TRUELAT1 does not equal TRUELAT2: ',TLAT,PLAT
! WRITE(*,*)'TRUELAT1 defines the latitude at which the grid resolution is defined.'
! STOP 900
! END IF

*Setting plat equal to tlat*
! defines a polar sterographic projection
IF(iproj.EQ.2)THEN

plat=tlat
print*tlat,plat

IF(TLAT.NE.PLAT)THEN
WRITE(*,*)'ERROR: incorrectly defined polar projection in WRF!'
WRITE(*,*)'TRUELAT1 does not equal TRUELAT2: ',TLAT,PLAT
WRITE(*,*)'TRUELAT1 defines the latitude at which the grid resolution is defined.'
STOP 900
END IF