CALL SEQUENCE... grset GG INPUT OUTPUT \ [ -n VAL1 -name VAL2 -plv VAL3 -lon VAL4 \ -lat VAL5 -npg VAL6 -a VAL7 -b VAL8 \ -c VAL9 -d VAL10 -delt VAL11 -kind VAL12 \ -t1 VAL13 VAL14 -lv1 VAL15 [ VAL16 [ VAL17 ] ] \ -def [DEFLEVS][FREEFMT][LASTSTEP] ] DESCRIPTION... CGRSET - CREATES A GAUSSIAN GRID FIELD FOR TESTING PURPOSES AUTHOR - R.LAPRISE, CCC MAY 11/83. LAST REVISION: $Header: Correction-au-mode-DEFLEVS-et-autres-trucs-divers @ 2019-04-15 09:48:36 -0400 (dugas) $ PURPOSE - CREATES A FILE, GG, CONTAINING NSETS OF ILEV LEVELS OF GRID OF SIZE (ILG,ILAT). FIELDS ARE SET BY THIS EQUATION... GG(T,LON,LAT,P) = A + B*P + (C+D*P)*(SIN(2PI*T/NSETS)+2.*SIN(LON))*COS(LAT) WHERE T = 1,NSTEPS LON = 1,ILG LAT = 1,ILA P = LVL(1), ... , LVL(ILEV) OUTPUT FILE... GG = OUTPUT SETS OF MULTI OR SINGLE LEVEL GRIDS INPUT PARAMETERS... NSETS (n) = NUMBER OF INDIVIDUAL TIMESTEPS (DEF=1). DELT = TIME DELTA BETWEEN SAMPLES IN SECONDS (DEF=0). THIS ARGUMENT IS ALWAYS LESS THAN 99999 AND CAN ONLY BE SET VIA THE COMMAND LINEY. DATEO (t1/t2) = INITIAL TIME (DEF=19790101/00). THESE TWO NUMBERS STAND FOR YYYYMMDD AND HHMMSS. AGAIN, THEY CAN ONLY BE SET VIA THE COMMAND LINE. NAME = NAME ASSIGNED TO THE SET LABEL (DEF='DATA'). ILEV (plv) = NUMBER OF PRESSURE LEVELS IN SETS (DEF=16;MAX=999) IF ILEV IS NEGATIVE, EACH -ILEV LVL VALUES ARE READ WITH A I10 FORMAT OR AN E10.0 IF ITS VALUE CONTAINS A DECIMAL POINT. ILG (lon) = NUMBER OF DISTINCT LONGITUDE POINTS (DEF=128). ILAT (lat) = NUMBER OF GAUSSIAN LATITUDES POINTS (DEF=64). NPACK (npg) = PACKING DENSITY DESIRED. NEGATIVE PACKING SUPPORTED AND THE DEFAULT IS NO PACKING (DEF=-32). A,B,C,D = PARAMETERS USED TO CALCULATE VALUES ON THE GRID (DEF=1.0). KIND = VERTICAL LEVEL TYPE. IT CAN ONLY BE USED WITH CMC/RPN STD FILES AND THEN LV1 AND LV2 ARE ASSUMED TO CONTAIN DECODED VALUES. FURTHERMORE, THIS PARAMETRE CAN ONLY BE SPECIFIED IN COMMAND-LINE MODE. THE CURRENTLY SUPPORTED VALUES ARE: 'HAUTEUR' , heights (m) with respect to sea level 'SIGMA' , classical terrain following (0.0 -> 1.0) 'ETA' , first version of the GEM ETA coordinate 'PRESSION' , pressure (mb) (*** DEFAULT ***) 'ARBITRAIRE', arbitrary level (no units apply) 'HAUTEURS' , heights (M) with respect to the surface 'HYBRIDE' , hybrid GEM coordinate 'THETA' , potential temperature coordinate 'GALCHEN' , GalChen generalized coordinate LVL (lv1) = ARRAY OF VERTICAL LEVELS TO BE USED IN IBUF(4) (DEF=500). 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 either if the -def command-line argument is specied by itself or with the 'DEFLEVS' value, as this activates a default level values processing mode. These defaults are then as specified in the example below and ILEV is also reset to 16, for consistency. 3) Specifying '-def FREEFMT' indicates that the output model levels should read with a list-directed free format. This is obviously not the default behaviour. Level 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 model levels, and not their possibly encoded integer values. Turning on the "FREE_FORMAT_LEVEL_IO" environment variable will also activate this behaviour. 4) Specifying '-def LASTSTEP' indicates that only the last timestep will be processed 5) Finally, the -def level-related parameters will all ignored if any level values are specified via the '-lv1' parameter. READ( 5,5010 ) NSETS,NAME,ILEV,ILG,ILAT,NPACK,A,B,C,D IF (FREEFMT) READ( 5,* ) (ETA(I),I=1,ABS(ILEV)) IF (ILEV.GT.0) READ( 5,5020 ) (LVL(I),I=1,ILEV) IF (ILEV.LT.0) READ( 5,5030 ) (LVL(I),I=1,-ILEV) 5010 FORMAT(10X,I5,1X,A4,4I5,4E10.0) 5020 FORMAT(16I5) 5030 FORMAT(8I10) EXAMPLE OF INPUT CARDS (with format 5020 & 5030)... GRSET 10 TEMP 16 100 50 -16 273. -10. 10. 1. 10 20 30 50 70 100 150 200 250 300 400 500 700 850 925 1000 0123456789012345678901234567890123456789012345678901234567890 1 2 3 4 5 6 7 (THIS WILL PRODUCE 10 SETS OF 16 LEVEL 100X50 GRIDS WITH NAME 'TEMP') EXIT CONDITIONS... 0 NO PROBLEMS 1 ERROR ABORT READING INPUT CARD 1 2 ERROR ABORT READING OUTPUT LEVELS 3 UNSUPPORTED DEFAULT 4 MORE THAN ONE LEVEL TYPE 5 CODED LVL DATA IS NOT CONSISTENT WITH KIND 6 UNRECOGNIZED -DEF ARGUMENT VALUE 7 KIND MUST DE DEFINED WHEN REAL OUTPUT LEVELS ARE SPECIFIED