CALL SEQUENCE... delhat PSFIL DHFIL INPUT OUTPUT [ -plv VAL1 -def [DEFLEVS][FREEFMT] ] DESCRIPTION... delhat - COMPUTES THE FUNCION DELTA-HAT FOR ALL PRESSURE LEVELS AUTHOR - J.D.Henderson, JUL 08/80. LAST REVISION: $Header: Correction-au-mode-DEFLEVS-et-autres-trucs-divers @ 2019-04-15 09:48:36 -0400 (dugas) $ PURPOSE - COMPUTES THE FUNCTION DELTA-HAT FOR A FILE OF SURFACE PRESSURE GRIDS (ONE SET FOR EACH PRESSURE GRID) NOTES - 1) PRESSURE VALUES ARE READ FROM STDIN 2) DELTA-HAT IS 1.0 ABOVE THE SURFACE AND 0.0 BELOW IT 3) THE MAXIMUM NUMBER OF LEVELS IS SET TO 999 INPUT FILE... PSFIL = INPUT SERIES OF SURFACE PRESSURE GRIDS (MB). OUTPUT FILE... DHFIL = DELTA-HAT AT REQUESTED PRESSURE LEVELS FOR EACH PRESSURE GRID IN PSFIL. 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 = VALUES OF THE PRESSURE IN MILLIBARS AS CODED BY ROUTINE LVCODE. THE DEFAULTS ARE 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)... DELHAT 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 PRESSURE LEVELS DO NOT VARY MONOTONICALLY 3 PREMATURE EOF ON FILE PSFC 4 ERROR READING FIRST LINE INPUT PARAMETERS 5 ERROR READING SECOND LINE INPUT PARAMETERS 6 LEV DOES NOT CONTAIN PRESSURE DATA 7 UNRECOGNIZED -DEF ARGUMENT VALUE