/[MITgcm]/MITgcm/pkg/fizhi/fizhi_driver.F
ViewVC logotype

Diff of /MITgcm/pkg/fizhi/fizhi_driver.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.18 by molod, Wed Jul 28 21:57:51 2004 UTC revision 1.34 by molod, Tue Dec 14 19:56:44 2004 UTC
# Line 4  C $Name$ Line 4  C $Name$
4  #include "FIZHI_OPTIONS.h"  #include "FIZHI_OPTIONS.h"
5        subroutine fizhi_driver (myid,im,jm,lm,bi,bj,ptracer,ntracer,        subroutine fizhi_driver (myid,im,jm,lm,bi,bj,ptracer,ntracer,
6       . xlats,xlons,       . xlats,xlons,
7       . p,u,v,t,q,pl,ple,dpres,pkht,pkl,fracland,landtype,radswt,       . p,u,v,t,q,pl,ple,dpres,pkht,pkl,surfz,fracland,landtype,radswt,
8       . phis_var,tgz,sea_ice,       . phis_var,tgz,sea_ice,
9       . nchp,chlat,chlon,igrd,nchptot,nchpland,chfr,ityp,       . nchp,chlat,chlon,igrd,nchptot,nchpland,chfr,ityp,
10       . tcanopy,tdeep,ecanopy,swetshal,swetroot,swetdeep,capac,snodep,       . tcanopy,tdeep,ecanopy,swetshal,swetroot,swetdeep,capac,snodep,
# Line 38  c Diagnostic Common Line 38  c Diagnostic Common
38  c -----------------  c -----------------
39  #ifdef ALLOW_DIAGNOSTICS  #ifdef ALLOW_DIAGNOSTICS
40  #include "SIZE.h"  #include "SIZE.h"
41  #include "diagnostics_SIZE.h"  #include "DIAGNOSTICS_SIZE.h"
42  #include "diagnostics.h"  #include "DIAGNOSTICS.h"
43  #endif  #endif
44    
45  c Timers Common  c Timers Common
# Line 58  c ---------------- Line 58  c ----------------
58        _RL u(im,jm,lm),v(im,jm,lm),t(im,jm,lm)        _RL u(im,jm,lm),v(im,jm,lm),t(im,jm,lm)
59        _RL q(im,jm,lm,ntracer)        _RL q(im,jm,lm,ntracer)
60        _RL pl(im,jm,lm),ple(im,jm,lm+1),dpres(im,jm,lm)        _RL pl(im,jm,lm),ple(im,jm,lm+1),dpres(im,jm,lm)
61        _RL pkht(im,jm,lm)        _RL pkht(im,jm,lm+1)
62        _RL pkl(im,jm,lm)        _RL pkl(im,jm,lm)
63          _RL surfz(im,jm)
64        _RL radswt(im,jm), fracland(im,jm)        _RL radswt(im,jm), fracland(im,jm)
65        integer landtype(im,jm)        integer landtype(im,jm)
66        _RL phis_var(im,jm), sea_ice(im,jm)        _RL phis_var(im,jm), sea_ice(im,jm)
# Line 72  c ---------------- Line 73  c ----------------
73        _RL lwdt(im,jm,lm),lwdtclr(im,jm,lm)        _RL lwdt(im,jm,lm),lwdtclr(im,jm,lm)
74        _RL swdt(im,jm,lm),swdtclr(im,jm,lm)        _RL swdt(im,jm,lm),swdtclr(im,jm,lm)
75        _RL turbu(im,jm,lm),turbv(im,jm,lm),turbt(im,jm,lm)        _RL turbu(im,jm,lm),turbv(im,jm,lm),turbt(im,jm,lm)
76        _RL turbq(im,jm,lm)        _RL turbq(im,jm,lm,ntracer)
77        _RL moistu(im,jm,lm),moistv(im,jm,lm),moistt(im,jm,lm)        _RL moistu(im,jm,lm),moistv(im,jm,lm),moistt(im,jm,lm)
78        _RL moistq(im,jm,lm)        _RL moistq(im,jm,lm,ntracer)
79        _RL chemo3(im,jm,lm),chemq(im,jm,lm)        _RL chemo3(im,jm,lm),chemq(im,jm,lm)
80        _RL albvisdr(im,jm),albvisdf(im,jm),albnirdr(im,jm)        _RL albvisdr(im,jm),albvisdf(im,jm),albnirdr(im,jm)
81        _RL albnirdf(im,jm),emiss(im,jm)        _RL albnirdf(im,jm),emiss(im,jm,10)
82        _RL alai(nchp),agrn(nchp)        _RL alai(nchp),agrn(nchp)
83        _RL radswg(im,jm),swgclr(im,jm)        _RL radswg(im,jm),swgclr(im,jm)
84        _RL fdirpar(im,jm),fdifpar(im,jm),osr(im,jm),osrclr(im,jm)        _RL fdirpar(im,jm),fdifpar(im,jm),osr(im,jm),osrclr(im,jm)
# Line 98  c ---------------- Line 99  c ----------------
99    
100  c Local Variables  c Local Variables
101  c ---------------  c ---------------
102          _RL rfu(im,jm,lm),rfv(im,jm,lm),rft(im,jm,lm)
103        logical     alarm        logical     alarm
104        external    alarm        external    alarm
105        integer numpcheck        integer numpcheck
106        parameter (numpcheck = 5)        parameter (numpcheck = 5)
107        integer pchecklevs(numpcheck)        integer pchecklevs(numpcheck)
108        _RL pcheckpress(numpcheck)        _RL pcheckpress(numpcheck)
109        data pcheckpress/950.,750.,700.,400.,10./  C     data pcheckpress/950.,750.,700.,400.,10./
110          data pcheckpress/950.,900.,700.,400.,150./
111    
112        integer low_level,mid_level,nltop,nsubmin,nsubmax,Lup        integer low_level,mid_level,nltop,nsubmin,nsubmax,Lup
113        integer ndmoist,ndturb,ndlw,ndsw        integer ndmoist,ndturb,ndlw,ndsw
# Line 113  c --------------- Line 116  c ---------------
116        integer ndum,ndpnt        integer ndum,ndpnt
117        _RL akap,getcon        _RL akap,getcon
118        _RL ptop        _RL ptop
119        logical lpnt        logical lpnt,cumfric
   
       _RL tempij(im,jm)  
120    
121        istrip = im*jm        istrip = im*jm
122        npcs   = 1        npcs   = 1
# Line 145  C Fill array of model levels closest to Line 146  C Fill array of model levels closest to
146        nsubmax = pchecklevs(2)        nsubmax = pchecklevs(2)
147        Lup = pchecklevs(3)        Lup = pchecklevs(3)
148    
149          cumfric = .false.
150    
151  C **********************************************************************          C **********************************************************************        
152  C ****                  Call Physics Mini-Drivers                   ****          C ****                  Call Physics Mini-Drivers                   ****        
153  C **********************************************************************          C **********************************************************************        
# Line 180  c -------------------------------- Line 183  c --------------------------------
183       .   low_level,mid_level,im,jm,lm,       .   low_level,mid_level,im,jm,lm,
184       .   p,pl,ple,dpres,pkht,pkl,t,chemq,chemo3,co2,       .   p,pl,ple,dpres,pkht,pkl,t,chemq,chemo3,co2,
185       .   cfc11,cfc12,cfc22,methane,n2o,emiss,tgz,radlwg,st4,dst4,       .   cfc11,cfc12,cfc22,methane,n2o,emiss,tgz,radlwg,st4,dst4,
186       .   lwdt,dlwdtg,lwdtclr,lwgclr,ptop,       .   lwdt,dlwdtg,lwdtclr,lwgclr,
187       .   nlwcld,cldtot_lw,cldras_lw,nlwlz,lwlz,       .   nlwcld,cldtot_lw,cldras_lw,nlwlz,lwlz,
188       .   .false.,imstturblw,qliqavelw,       .   .false.,imstturblw,qliqavelw,
189       .   fccavelw,landtype )       .   fccavelw,landtype )
# Line 191  C TURBULENCE Line 194  C TURBULENCE
194  C ==========  C ==========
195        IF ( alarm('turb') ) THEN        IF ( alarm('turb') ) THEN
196    
197  c     call turbio (im,jm,lm,1,nymd,nhms,bi,bj,ndturb,        call turbio (im,jm,lm,istrip,nymd,nhms,bi,bj,ndturb,
198  c    .  ptop,p,u,v,t,q,ntracer,ptracer,pl,ple,dpres,pkht,pkl,       .  ptop,p,u,v,t,q,ntracer,ptracer,pl,ple,dpres,pkht,pkl,
199  c    .  ctmt,xxmt,yymt,zetamt,xlmt,khmt,tke,       .  ctmt,xxmt,yymt,zetamt,xlmt,khmt,tke,
200  c    .  tgz,fracland,landtype,       .  tgz,fracland,landtype,
201  c    .  tcanopy,ecanopy,tdeep,swetshal,swetroot,swetdeep,snodep,capac,       .  tcanopy,ecanopy,tdeep,swetshal,swetroot,swetdeep,snodep,capac,
202  c    .  nchp,nchptot,nchpland,chfr,chlat,chlon,igrd,ityp,       .  nchp,nchptot,nchpland,chfr,chlat,chlon,igrd,ityp,
203  c    .  alai,agrn,sea_ice,lpnt,       .  alai,agrn,sea_ice,lpnt,
204  c    .  turbu,turbv,turbt,turbq,radlwg,st4,dst4,radswg,radswt,       .  turbu,turbv,turbt,turbq,radlwg,st4,dst4,radswg,radswt,
205  c    .  fdifpar,fdirpar,rainlsp,raincon,snowfall,tg0,       .  fdifpar,fdirpar,rainlsp,raincon,snowfall,tg0,
206  c    .  imstturblw,imstturbsw,qliqavelw,qliqavesw,fccavelw,fccavesw,qq,       .  imstturblw,imstturbsw,qliqavelw,qliqavesw,fccavelw,fccavesw,qq,
207  c    .  myid)       .  myid)
208    
209  c Add Gravity-Wave Drag Tendency  c Add Gravity-Wave Drag Tendency
210  c ------------------------------  c ------------------------------
# Line 212  c     call gwdrag (myid,p,pl,ple,dpres,p Line 215  c     call gwdrag (myid,p,pl,ple,dpres,p
215  c    .   turbu,turbv,turbt,im,jm,lm,ptop,istrip,npcs,  c    .   turbu,turbv,turbt,im,jm,lm,ptop,istrip,npcs,
216  c    .   imglobal)  c    .   imglobal)
217    
218    c Add Rayleigh Friction Damping Above 70 Km
219    c -----------------------------------------
220    
221          call rayleigh(myid,pl,pkl,pkht,surfz,u,v,t,q,im,jm,lm,
222         .                                                bi,bj,rfu,rfv,rft)
223    C Now Add Rayleigh Friction Tendencies to Turb Tendency
224    
225    C     do L=1,lm
226    C     do j=1,jm
227    C     do i=1,im
228    C      turbu(i,j,L) = turbu(i,j,L) + rfu(i,j,L)
229    C      turbv(i,j,L) = turbv(i,j,L) + rfv(i,j,L)
230    C      turbt(i,j,L) = turbt(i,j,L) + rft(i,j,L)
231    C     enddo
232    C     enddo
233    C     enddo
234    
235        endif        endif
236                                                                                                                                                                    
237  C MOIST PROCESSES  C MOIST PROCESSES
# Line 219  C =============== Line 239  C ===============
239        if ( alarm('moist') ) then        if ( alarm('moist') ) then
240        call moistio (ndmoist,istrip,npcs,        call moistio (ndmoist,istrip,npcs,
241       .    low_level,mid_level,nltop,nsubmin,nsubmax,Lup,       .    low_level,mid_level,nltop,nsubmin,nsubmax,Lup,
242       .    p,pl,ple,dpres,pkht,pkl,t,q,bi,bj,ntracer,ptracer,qq,       .    p,pl,ple,dpres,pkht,pkl,u,v,t,q,bi,bj,ntracer,ptracer,qq,
243       .    moistu,moistv,moistt,moistq,im,jm,lm,ptop,iras,       .    moistu,moistv,moistt,moistq,cumfric,im,jm,lm,ptop,iras,
244       .    rainlsp,raincon,snowfall,       .    rainlsp,raincon,snowfall,
245       .    nswcld,cldtot_sw,cldras_sw,cldlsp_sw,nswlz,swlz,       .    nswcld,cldtot_sw,cldras_sw,cldlsp_sw,nswlz,swlz,
246       .    nlwcld,cldtot_lw,cldras_lw,cldlsp_lw,nlwlz,lwlz,       .    nlwcld,cldtot_lw,cldras_lw,cldlsp_lw,nlwlz,lwlz,
247       .              .false.,myid)       .              .false.,myid)
   
248        endif        endif
249    
250        return        return

Legend:
Removed from v.1.18  
changed lines
  Added in v.1.34

  ViewVC Help
Powered by ViewVC 1.1.22