C NCLFORTSTART subroutine gwdo_gsd_F77(u3d,v3d,t3d,qv3d,p3d,p3di,pi3d,z, & rublten,rvblten,rthblten, & dtaux3d_ls,dtauy3d_ls,dtaux3d_bl,dtauy3d_bl, & dtaux3d_ss,dtauy3d_ss,dtaux3d_fd,dtauy3d_fd, & dusfcg_ls,dvsfcg_ls,dusfcg_bl,dvsfcg_bl,dusfcg_ss,dvsfcg_ss, & dusfcg_fd,dvsfcg_fd,xland,br, & var2d,oc12d,oa2d1,oa2d2,oa2d3,oa2d4,ol2d1,ol2d2,ol2d3,ol2d4, & var2dss,oc12dss, & oa2d1ss,oa2d2ss,oa2d3ss,oa2d4ss, & ol2d1ss,ol2d2ss,ol2d3ss,ol2d4ss, & znu,znw,p_top,dz,pblh, & cp,g,rd,rv,ep1,pi, & dt,dx,kpbl2d,itimestep,gwd_opt, & ids,ide, jds,jde, kds,kde, & ims,ime, jms,jme, kms,kme, & its,ite, jts,jte, kts,kte) implicit none integer ids,ide, jds,jde, kds,kde, & ims,ime, jms,jme, kms,kme, & its,ite, jts,jte, kts,kte integer itimestep,gwd_opt real dt,dx,cp,g,rd,rv,ep1,pi real qv3d( ims:ime, kms:kme, jms:jme ), & p3d( ims:ime, kms:kme, jms:jme ), & pi3d( ims:ime, kms:kme, jms:jme ), & t3d( ims:ime, kms:kme, jms:jme ), & z( ims:ime, kms:kme, jms:jme ), & dz( ims:ime, kms:kme, jms:jme ) real p3di( ims:ime, kms:kme, jms:jme ) real rublten( ims:ime, kms:kme, jms:jme ), & rvblten( ims:ime, kms:kme, jms:jme ), & rthblten( ims:ime, kms:kme, jms:jme ) real dtaux3d_ls( ims:ime, kms:kme, jms:jme ), & dtauy3d_ls( ims:ime, kms:kme, jms:jme ), & dtaux3d_bl( ims:ime, kms:kme, jms:jme ), & dtauy3d_bl( ims:ime, kms:kme, jms:jme ), & dtaux3d_ss( ims:ime, kms:kme, jms:jme ), & dtauy3d_ss( ims:ime, kms:kme, jms:jme ), & dtaux3d_fd( ims:ime, kms:kme, jms:jme ), & dtauy3d_fd( ims:ime, kms:kme, jms:jme ) real u3d( ims:ime, kms:kme, jms:jme ), & v3d( ims:ime, kms:kme, jms:jme ) integer kpbl2d( ims:ime, jms:jme ) real pblh( ims:ime, jms:jme ), & br( ims:ime, jms:jme ), & xland( ims:ime, jms:jme ) real dusfcg_ls( ims:ime, jms:jme ), & dvsfcg_ls( ims:ime, jms:jme ), & dusfcg_bl( ims:ime, jms:jme ), & dvsfcg_bl( ims:ime, jms:jme ), & dusfcg_ss( ims:ime, jms:jme ), & dvsfcg_ss( ims:ime, jms:jme ), & dusfcg_fd( ims:ime, jms:jme ), & dvsfcg_fd( ims:ime, jms:jme ) real var2d( ims:ime, jms:jme ), & oc12d( ims:ime, jms:jme ), & oa2d1( ims:ime, jms:jme ), & oa2d2( ims:ime, jms:jme ), & oa2d3( ims:ime, jms:jme ), & oa2d4( ims:ime, jms:jme ), & ol2d1( ims:ime, jms:jme ), & ol2d2( ims:ime, jms:jme ), & ol2d3( ims:ime, jms:jme ), & ol2d4( ims:ime, jms:jme ), C ! additional topographic statistics based on 1km orographic dataset C ! for small-scale orographic drag schemes & var2dss( ims:ime, jms:jme ), & oc12dss( ims:ime, jms:jme ), & oa2d1ss( ims:ime, jms:jme ), & oa2d2ss( ims:ime, jms:jme ), & oa2d3ss( ims:ime, jms:jme ), & oa2d4ss( ims:ime, jms:jme ), & ol2d1ss( ims:ime, jms:jme ), & ol2d2ss( ims:ime, jms:jme ), & ol2d3ss( ims:ime, jms:jme ), & ol2d4ss( ims:ime, jms:jme ) real znu( kms:kme ), & znw( kms:kme ) real p_top C NCLEND call gwdo_gsd_F90(u3d,v3d,t3d,qv3d,p3d,p3di,pi3d,z, & rublten,rvblten,rthblten, & dtaux3d_ls,dtauy3d_ls,dtaux3d_bl,dtauy3d_bl, & dtaux3d_ss,dtauy3d_ss,dtaux3d_fd,dtauy3d_fd, & dusfcg_ls,dvsfcg_ls,dusfcg_bl,dvsfcg_bl,dusfcg_ss,dvsfcg_ss, & dusfcg_fd,dvsfcg_fd,xland,br, & var2d,oc12d,oa2d1,oa2d2,oa2d3,oa2d4,ol2d1,ol2d2,ol2d3,ol2d4, & var2dss,oc12dss, & oa2d1ss,oa2d2ss,oa2d3ss,oa2d4ss, & ol2d1ss,ol2d2ss,ol2d3ss,ol2d4ss, & znu,znw,p_top,dz,pblh, & cp,g,rd,rv,ep1,pi, & dt,dx,kpbl2d,itimestep,gwd_opt, & ids,ide, jds,jde, kds,kde, & ims,ime, jms,jme, kms,kme, & its,ite, jts,jte, kts,kte) return end C---------------------------- subroutine gwdo_gsd_F90(u3d,v3d,t3d,qv3d,p3d,p3di,pi3d,z, & rublten,rvblten,rthblten, & dtaux3d_ls,dtauy3d_ls,dtaux3d_bl,dtauy3d_bl, & dtaux3d_ss,dtauy3d_ss,dtaux3d_fd,dtauy3d_fd, & dusfcg_ls,dvsfcg_ls,dusfcg_bl,dvsfcg_bl,dusfcg_ss,dvsfcg_ss, & dusfcg_fd,dvsfcg_fd,xland,br, & var2d,oc12d,oa2d1,oa2d2,oa2d3,oa2d4,ol2d1,ol2d2,ol2d3,ol2d4, & var2dss,oc12dss, & oa2d1ss,oa2d2ss,oa2d3ss,oa2d4ss, & ol2d1ss,ol2d2ss,ol2d3ss,ol2d4ss, & znu,znw,p_top,dz,pblh, & cp,g,rd,rv,ep1,pi, & dt,dx,kpbl2d,itimestep,gwd_opt, & ids,ide, jds,jde, kds,kde, & ims,ime, jms,jme, kms,kme, & its,ite, jts,jte, kts,kte) use module_bl_gwdo_gsd implicit none integer ids,ide, jds,jde, kds,kde, & ims,ime, jms,jme, kms,kme, & its,ite, jts,jte, kts,kte integer itimestep,gwd_opt real dt,dx,cp,g,rd,rv,ep1,pi real qv3d( ims:ime, kms:kme, jms:jme ), & p3d( ims:ime, kms:kme, jms:jme ), & pi3d( ims:ime, kms:kme, jms:jme ), & t3d( ims:ime, kms:kme, jms:jme ), & z( ims:ime, kms:kme, jms:jme ), & dz( ims:ime, kms:kme, jms:jme ) real p3di( ims:ime, kms:kme, jms:jme ) real rublten( ims:ime, kms:kme, jms:jme ), & rvblten( ims:ime, kms:kme, jms:jme ), & rthblten( ims:ime, kms:kme, jms:jme ) real dtaux3d_ls( ims:ime, kms:kme, jms:jme ), & dtauy3d_ls( ims:ime, kms:kme, jms:jme ), & dtaux3d_bl( ims:ime, kms:kme, jms:jme ), & dtauy3d_bl( ims:ime, kms:kme, jms:jme ), & dtaux3d_ss( ims:ime, kms:kme, jms:jme ), & dtauy3d_ss( ims:ime, kms:kme, jms:jme ), & dtaux3d_fd( ims:ime, kms:kme, jms:jme ), & dtauy3d_fd( ims:ime, kms:kme, jms:jme ) real u3d( ims:ime, kms:kme, jms:jme ), & v3d( ims:ime, kms:kme, jms:jme ) integer kpbl2d( ims:ime, jms:jme ) real pblh( ims:ime, jms:jme ), & br( ims:ime, jms:jme ), & xland( ims:ime, jms:jme ) real dusfcg_ls( ims:ime, jms:jme ), & dvsfcg_ls( ims:ime, jms:jme ), & dusfcg_bl( ims:ime, jms:jme ), & dvsfcg_bl( ims:ime, jms:jme ), & dusfcg_ss( ims:ime, jms:jme ), & dvsfcg_ss( ims:ime, jms:jme ), & dusfcg_fd( ims:ime, jms:jme ), & dvsfcg_fd( ims:ime, jms:jme ) real var2d( ims:ime, jms:jme ), & oc12d( ims:ime, jms:jme ), & oa2d1( ims:ime, jms:jme ), & oa2d2( ims:ime, jms:jme ), & oa2d3( ims:ime, jms:jme ), & oa2d4( ims:ime, jms:jme ), & ol2d1( ims:ime, jms:jme ), & ol2d2( ims:ime, jms:jme ), & ol2d3( ims:ime, jms:jme ), & ol2d4( ims:ime, jms:jme ), C ! additional topographic statistics based on 1km orographic dataset C ! for small-scale orographic drag schemes & var2dss( ims:ime, jms:jme ), & oc12dss( ims:ime, jms:jme ), & oa2d1ss( ims:ime, jms:jme ), & oa2d2ss( ims:ime, jms:jme ), & oa2d3ss( ims:ime, jms:jme ), & oa2d4ss( ims:ime, jms:jme ), & ol2d1ss( ims:ime, jms:jme ), & ol2d2ss( ims:ime, jms:jme ), & ol2d3ss( ims:ime, jms:jme ), & ol2d4ss( ims:ime, jms:jme ) real znu( kms:kme ), & znw( kms:kme ) real p_top call gwdo_gsd(u3d,v3d,t3d,qv3d,p3d,p3di,pi3d,z, & rublten,rvblten,rthblten, & dtaux3d_ls,dtauy3d_ls,dtaux3d_bl,dtauy3d_bl, & dtaux3d_ss,dtauy3d_ss,dtaux3d_fd,dtauy3d_fd, & dusfcg_ls,dvsfcg_ls,dusfcg_bl,dvsfcg_bl,dusfcg_ss,dvsfcg_ss, & dusfcg_fd,dvsfcg_fd,xland,br, & var2d,oc12d,oa2d1,oa2d2,oa2d3,oa2d4,ol2d1,ol2d2,ol2d3,ol2d4, & var2dss,oc12dss, & oa2d1ss,oa2d2ss,oa2d3ss,oa2d4ss, & ol2d1ss,ol2d2ss,ol2d3ss,ol2d4ss, & znu,znw,p_top,dz,pblh, & cp,g,rd,rv,ep1,pi, & dt,dx,kpbl2d,itimestep,gwd_opt, & ids,ide, jds,jde, kds,kde, & ims,ime, jms,jme, kms,kme, & its,ite, jts,jte, kts,kte) return end