! ! Model parameters: ! Grid dimensions and derived parameters: ! NLEV, ZTOP, and ZBOT are from #defines in dims.h: ! integer,parameter :: | ZIMX=NLON, ! number of longitudinal grid points | ZJMX=NLAT, ! number of latitudinal grid points | ZKMX=NLEV ! number of vertical layers (see dims.h) ! real,parameter :: | ZST= ZTOP, ! height of top of model (see dims.h) | ZSB= ZBOT, ! height of bottom of model (see dims.h) | DZ =(ZTOP-ZBOT)/NLEV ! delta zp (0.5 or 0.25) ! ! Set zfldx,zphyx according to vertical resolution (dims.h) ! #if (NLEV==28) ! NLEV==28 for -7 to +7 by 0.50 integer,parameter :: | ZFLDX=895, | ZPHYX=1131 #elif (NLEV==56) ! NLEV==56 for -7 to +7 by 0.25 integer,parameter :: | ZFLDX = 6037, | ZPHYX = 5786 #endif ! ! Derived parameters based on above grid dimensions: integer,parameter :: | ZIMXP=ZIMX+4, | ZJMX2=ZJMX+ZJMX, | ZKMXP=ZKMX+1, | ZIXKX=ZIMXP*ZKMXP, | ZIMXP1=ZIMX+1, | ZJMXP1=ZJMX+1 ! integer,parameter :: | IMAXM=80, ! number of apex longitude grid points | JMAXM=97, ! number of apex latitude grid points | IMAXMP=IMAXM+1, | IMX0=IMAXM+1, | JMX0=(JMAXM+1)/2, | IMX1=(IMX0+1)/2, | JMX1=(JMX0+1)/2, | IMX2=(IMX1+1)/2, | JMX2=(JMX1+1)/2, | IMX3=(IMX2+1)/2, | JMX3=(JMX2+1)/2, | IMX4=(IMX3+1)/2, | JMX4=(JMX3+1)/2, C **** SPACE NEEDED FOR DESCRETIZED COEFFICIENTS OF C **** OF DYNAMO PDE AT ALL 5 LEVELS OF RESOLUTION | NCEE=10*IMX0*JMX0+9*(IMX1*JMX1+IMX2*JMX2+IMX3*JMX3+IMX4*JMX4), | JMAXMH=(JMAXM+1)/2, C **** COEFFICIENTS ARE STORED IN 1-D ARRAY CEE(NCEE). C **** FOLLOWING PARAMETERS ARE POINTERS TO THE C **** BEGINNING OF THE COEFFICIENTS FOR EACH LEVEL C **** OF RESOLUTION. | NC0=1, | NC1=NC0+10*IMX0*JMX0, | NC2=NC1+9*IMX1*JMX1, | NC3=NC2+9*IMX2*JMX2, | NC4=NC3+9*IMX3*JMX3 ! integer,parameter :: IMAXG=ZIMX,JMAXG=ZJMX,IMAXGP=IMAXG+1, | JMAXGP=JMAXG+1 ! ! Special values: integer,parameter :: nzflds=32, nzphys=39 real,parameter :: spval=1.e36 integer,parameter :: ispval = 9999 ! ! nflds = number of prognostics for current and previous iteration. ! nphys = number of phys fields ! ntape = number of fields written to tape ! ndisk = number of fields written to disk ! (See index.h for buffer indices) ! integer,parameter :: nflds=32, nphys=39, ntape=25, ndisk=25 ! ! Max size of an mss history (bytes) (mss will accept larger, so ! this can be increased if desired) ! integer(kind=8),parameter :: mxmssbytes=200000000 ! ! For new modules hist_mod and input_mod: character(len=8),parameter :: tgcm_version = 'tgcm15 ' ! ! tgcm_name is either "tiegcm" or "time-gcm" character(len=8),parameter :: tgcm_name = 'tiegcm' ! integer,parameter :: | mxday=366, ! max allowed calendar day | mxhvols = 100, ! max number of output history files | mxseries = 10, ! max number of time series for primary histories | mxseries_sech = 50,! max number of secondary history time series | mxfsech = 50 ! max number of fields on secondary histories !