c c------------------------------------------------------------------ c Begin file /home/sting/foster/timegcm/mksrc/mksrc.h c------------------------------------------------------------------ c c Similiar to ~/timegcm/mksrc, but modified to exclude tigcm stuff c since this code uses glbmean fields only for source history c (do not need to read tigcm histories) c c Grid sizes: c parameter (jmx=36,imx=73,kmx=37,imxp1=imx+1,imxm1=imx-1, parameter (jmx=36,imx=73,kmx=45,imxp1=imx+1,imxm1=imx-1, + imxp2=imx+2,imxp3=imx+3) c c nfldsw = 43 = number of fields written to history file c nfldst = 44 = total number of fields (for dimensions) c nfldsd = 29 = number of fields defined by this code c parameter(nfldsw=43,nfldst=44,nfldsd=29) c c ntimefld = 29: tn,un,vn,o2,o,n4s,noz,co,co2,h2o,h2,hox,o+,ch4,o21d, c 1, 2, 3, 4,5, 6, 7, 8, 9, 10,11, 12,13, 14, 15, c no2,no,o3,npo1,oh,ho2, h,n2d,ti,te,ne,o2+, w, z c 16,17,18, 19,20, 21,22, 23,24,25,26, 27,28,29 c c (note: ch4 and o21d added on 1/27/92 by bf: ch4 from glbmean, and c o21d to receive special value. This increases nfldsw and nfldst c by 3, and nfldsd by 2 because ch4 will be prognostic and o21d c diagnostic. Thus 3 new fields will be written to the history: c ch4,o21d (after o+), and ch4nm (the time-minus-1 field for c ch4 (field 43) because it is prognostic). c character*8 timelab_short(nfldsd),timeout(3) common/chcomm/ timelab_short,timeout c common/timecomm/ lutime,itimeout(3),idispose,iframe, + ipltacd,ipltcira,ipltlb,month,iday,lucira,ipltzatm c c Special value for conpack: parameter (cpspval=1.e36) c c degrees to radians: parameter (pi = 3.14159) parameter (dtr = pi/180.) c c radians to degrees: parameter (rtd = 180./pi) c c For timegcm: common/timeix/itxt,itxu,itxv,itxo2,itxo1,itxn4s,itxnoz,itxco, + itxco2,itxh2o,itxh2,itxhox,itxop,itxch4,itxo21d, + itxno2,itxno,itxo3,itxnpo1,itxoh,itxho2,itxh, + itxn2d,itxti,itxte,itxne,itxo2p,itxw,itxz common /tigcm/ gcmwtime(nfldsd),itimelog(nfldsd) dimension itxgcm(nfldsd) equivalence(itxgcm,itxt) c parameter(mxtms=25) common/input/ md(mxtms),mh(mxtms),mm(mxtms), + mdut(mxtms),mhut(mxtms),mmut(mxtms),ntms, + ut(mxtms),iyd c c Delta lat,lon,zp for the 3d grid: parameter (dlat=5.,dlon=5.,dzp=0.5) common/gcmgrid/ gcmlat(jmx),gcmlon(imx),gcmzp(kmx) c c f is array written to source hist at each latitude: common/timef/ f(imxp3,kmx,nfldst) c c For datavol: c nflddat = number of fields in data volume: c (lower boundaries datlb are tacked on at end of each j slice record) c 1) perturbation heating (zeroed out in this code) c 2) Art's dynamo zonal ion velocity c 3) Art's dynamo meridional ion velocity c 4) Art's dynamo vertival ion velocity c 5) Art's electric potential (was o2 dissoc on old volumes) c 6) electron density c 7) speclb(jmx,nspec) = lower boundaries for nspec species c from acd 2d model written at end of datavol, after c last (jmx) latitude slice (see below, and see wrdatv.f). c c pldatv is for global plots of ui,vi,wi, and pot (fields 2->5) c ludatv = fortran unit for data vol (set in blktime.f, in common c in timegcm.h, and assigned in opendatv.f) c parameter(nflddat=6) common/datavol/ fdatv(imxp3,kmx,nflddat),idatvol, + pldatv(imx,jmx,4),ludatv character*32 datvnm common/chdatv/ datvnm c c 9/91: lower boundaries for h2o,h2,co,co2,h,oh,o,o3,ho2,no2,no c are found from acd 2d model (see ~/acd2d), and are c stored on the data volume. c nspec = number of species for which lower boundary is desired c (defined in blktime) c ispecno(nspec) = integers corresponding to desired species c (specific to Raj processor -- see ~/acd2d/sol9.f) c (defined in blktime) c acdhist = mass store path to acd 2d model history (input -- see getinp) c luacd = fortran unit for acdhist (defined in blktime) c hgtlb = height of desired lower boundary (zp -17 at 30km for this code) c (defined in blktime) c lbname(nbot) = names of lower boundary fields c parameter(nspec=12) parameter(nbot=nspec+7) common/acd2dcom/ ispecno(nspec),luacd,hgtlb,ispecpsi(nspec) character*32 acdhist character*8 acdname(nspec),lbname(nbot) common/acdchcom/ acdhist,acdname,lbname c c Lower boundaries for data vol: c speclb(jmx,nspec) = lower boundaries returned by acd2d() (at 30 km) c h2o,h2,co,co2,h,oh,o,o3,ho2,no2,no,ch4 c tng = tn at ground (from cira88) c tnlb,htlb,unlb = lower boundaries for tn,ht,un from cira88 (at zp -13) c oxlb, rnozlb, hoxlb = lower boundaries for ox, noz, and hox c (constructed from speclb) c tndown(jmx,ntndown) = lower boundaries for tn from -13 to -19.25, by 0.25 c (from cira88) c botbound(jmx,nbot) = all bottom boundaries except tndown c (12 from acd plus tng,tnlb,htlb,unlb from cira88, c and ox,noz,hox) c parameter(ntndown=26,tndzp1=-19.25,tnddel=.25) common/lbcom/ speclb(jmx,nspec),tng(jmx),tnlb(jmx),htlb(jmx), + unlb(jmx),oxlb(jmx),rnozlb(jmx),hoxlb(jmx), + tndown(jmx,ntndown),rholb(jmx) dimension botbound(jmx,nbot) equivalence (botbound,speclb)