Model Change Bulletin MCB#3 February 12, 2013 SCREEN3 (dated 13043) This Model Change Bulletin documents changes made to the SCREEN3 model. The original 16-bit SCREEN3 executable from 1996 and previous 32-bit versions did not work on Windows 64-bit Operating Systems. SCREEN3 was modified slightly and recompiled using Intel(R) Visual Fortran Compiler XE 13.1.0.149 [IA-32]. SCREEN3 now runs on Windows 7, x64 computer systems. Newer compilers are less tolerant of deviations from older Fortran Programming standards. The above compiler identified several such errors and they had to be corrected before the executable could be built. The following is a list of those corrections along with some minor changes. 1) Several edits were made to the SCREEN3A.FOR source code in the header area to change the creation date from 96043 to 13043 and from MCB #2 to MCB #3 2) The length of CINP had to be increased from 50 to 80. CINP is passed to a subroutine LERUPR where the receiving variable is of a length of 80 characters. The original line: CHARACTER*50 CINP was changed to: CHARACTER*80 CINP 3) The capability to open a fixed filename, SCREEN.INP, was added but not implemented. This would normally curtail the need to use redirection. The following line was added to initialize the input filename variable, INPFIL: INPFIL = 'SCREEN.INP' 4) If a fixed filename is required for use under another operating system, the following statement needs to be uncommented before recompiling. C OPEN(IRD,FILE=INPFIL,STATUS='OLD') 5) There were too many commas in Format statement 103 near line number 1943. The commas were removed. The resulting line became: 103 FORMAT(' ',1X,'*** SCREEN3 MODEL RUN ***' & /2X,'*** VERSION DATED ',A5,' ***'//1X,A79// & 1X,'SIMPLE TERRAIN INPUTS:',/, & 1X,' SOURCE TYPE = POINT ', & 'w/ DRY DEPOSITION'/ & 1X,' EMISSION RATE (G/S) = ',G16.6,/ & 1X,' STACK HEIGHT (M) = ',F12.4,/ & 1X,' STK INSIDE DIAM (M) = ',F12.4,/ & 1X,' STK EXIT VELOCITY (M/S) = ',F12.4,/ & 1X,' STK GAS EXIT TEMP (K) = ',F12.4,/ & 1X,' AMBIENT AIR TEMP (K) = ',F12.4,/ & 1X,' RECEPTOR HEIGHT (M) = ',F12.4,/ & 1X,' URBAN/RURAL OPTION = ',7X,A5,/ & 1X,' SURFACE ROUGHNESS LENGTH (M) = ',F12.4,/ & 1X,' BUILDING HEIGHT (M) = ',F12.4,/ & 1X,' MIN HORIZ BLDG DIM (M) = ',F12.4,/ & 1X,' MAX HORIZ BLDG DIM (M) = ',F12.4) 6) The version number, VERSN, was changed in Block Init from 96043 to 13043: DATA VERSN/'13043'/ 7) In the CALL PRISE statement, the scalar variable, xnw, was being passsed to the dimensioned variable, xdown. xdown was always dimensioned to "1". In Subroutine PRISE, xdown was changed to the scalar, xnw. The same was true for z and zeff. These two variables were changed to znw and zefflgl. The subroutine is now: subroutine PRISE(istab,ws,ta,ts,hs,exitw,diam,fmterm,xnw,ndown, 1 fbterm,znw,zefflgl,xmax,zmax) 8) xnw, znw, and zefflgl were equated to their dimensioned counterparts: c scalar arguments (xnw,znw,zefflgl) are passed by 'call prise' to c dimensional constants (xdown, z, and zeff) with a value of 1 (ndown). c The following three lines were added as well as a change to the c sub args to address a message citing this previous coding c as a compiler error: xdown(ndown) = xnw z(ndown) = znw zeff(ndown) = zefflgl and after processing, znw and zefflgl were converted back: c c added to pass results back through call statement as scalar c arguments: znw = z(ndown) zefflgl = zeff(ndown) xnw was not need after the Return was made. 9) The compiler objected to mixed integer and floating point variable arguments in the function AMAX1. The value 10 was changed to a float point value by adding a decimal point. There were two other instances of this happening. All three statements were edited to: UC10M(I) = UC * (ZREF/AMAX1(10.,HS))**0.20 and: U0 = U0TEN*(AMAX1(10.,HS)/ZREF)**0.20 U1 = U1TEN*(AMAX1(10.,HS)/ZREF)**0.20 10) The G10.4 formats were widened to G11.4 formats due to a remark generated by the compiler. Several format statements with dashed lines had to be modified so the new format would align with the dashes above the output. 11) Source code SCREEN3C.FOR was not modified. Any questions should be directed to us via the SCRAM web site "Contact Us" link.