CALL SEQUENCE... beta PSFC BETFIL INPUT OUTPUT [ -plv VAL1 -def [DEFLEVS][FREEFMT] ] DESCRIPTION... beta - COMPUTES THE FUNCTION BETA FOR ALL PRESSURE LEVELS AUTHOR - G.J.Boer, MAR 87. LAST REVISION: $Header: Correction-au-mode-DEFLEVS-et-autres-trucs-divers @ 2019-04-15 09:48:36 -0400 (dugas) $ PURPOSE - COMPUTES THE FUNCTION "BETA" FOR A FILE OF SURFACE PRESSURE GRIDS. THE REQUIRED PRESSURE VALUES ARE READ FROM STDIN NOTES - 1) BETA MAY EXCEED 1 IN LOWEST LAYER 2) THE FORM OF BETA IS CONSISTENT WITH THE USE OF PROGRAM VPINT 3) THE MAXIMUM NUMBER OF LEVELS IS SET TO 999 INPUT FILE... PSFC = INPUT SERIES OF SURFACE PRESSURE GRIDS (MB). OUTPUT FILE... BETFIL = "NEW" COMPUTED BETA FOR EACH REQUESTED PRESSURE LEVEL; (ONE SET FOR EACH PRESSURE GRID). INPUT PARAMETERS... NLEV (plv) = NUMBER OF REQUESTED PRESSURE LEVELS (DEF 16, MAX 999). IF NLEV IS NEGATIVE, EACH -NLEV LEV VALUES ARE READ WITH EITHER A I10 FORMAT OR AN E10.0 DEPENDING ON WETHER ANY OF THESE VALUES CONTAINS A DECIMAL POINT. INTEGER VALUES ARE THEN ASSUMED TO BE ENCODED (via LVCODE or CONVIP) LEV = MONOTONIC PRESSURE LEVELS (MB) (READ FROM STANDARD INPUT). THE DEFAULTS ARE AS SPECIFIED IN THE EXAMPLE BELOW. Notes: 1) The first input line is NOT read if any command-line parameters are passed. 2) Furthermore, the second line will not be read when the "-def" (or "-def DEFLEVS") defaults processing mode is requested. Any "-plv" value is also ignored. 3) Specifying "-def FREEFMT" indicates that the output pressure levels should read with a list-directed free format. This is obviously not the default behaviour. Pressure values should then only be separated by spaces or comas, and spread over one or more lines. These numbers are then always assumed to be the actual real pressure values, and not their possibly encoded integer values. Turning on the "FREE_FORMAT_LEVEL_IO" environment variable will also activate this behaviour. READ( 5,5010 ) NLEV IF (FREEFMT) READ( 5,* ) ( PR(I),I=1,ABS(NPL)) ELSEIF (NLEV > 0) READ( 5,5020 ) (LEV(I),I=1, NPL) ELSEIF (NLEV < 0) READ( 5,5030 ) (LEV(I),I=1, -NPL) 5010 FORMAT(10X,I5) 5020 FORMAT(16I5) 5030 FORMAT(8E10.0) EXAMPLE OF INPUT CARDS (with format 5010 & 5020)... BETA 16 10 20 30 50 70 100 150 200 250 300 400 500 700 850 925 1000 01234567890123456789012345678901234567890123456789012345678901234567890 1 2 3 4 5 6 7 EXIT CONDITIONS... 0 NO PROBLEMS 1 TOO MANY OR NOT ENOUGH REQUIRED LEVELS 2 FOUND THAT "PR(NLEV) > 1013" 3 PRESSURE LEVELS DO NOT VARY MONOTONICALLY 4 PREMATURE EOF ON FILE PSFC 5 ERROR READING FIRST LINE INPUT PARAMETERS 6 ERROR READING SECOND LINE INPUT PARAMETERS 7 LEV DOES NOT CONTAIN PRESSURE DATA 8 UNRECOGNIZED -DEF ARGUMENT VALUE