function makez (args)

name= subwrd(args,1)
tag = subwrd(args,2)
mask= subwrd(args,3)

          'alias 'name
           alias = result
'chckname 'alias
            flag = result

'getinfo xfreq'
 xfreq = result

if( xfreq = 'varying' )
'getinfo lonmin'
         lonmin = result
'getinfo lonmax'
         lonmax = result
'getinfo dlon'
         dlon   = result
       lontot   = lonmax - lonmin + dlon/2

*'setz'
'setlats'

* Variable is in File
* -------------------
if( flag = '0' )
    say 'Computing Zonal Mean for Data Variable: 'alias
    say '          LONMIN:LONMAX = 'lonmin':'lonmax
    say '          Reading Variable into Memory ...'
    if( mask = '' )
       'define temp = 'alias
    else
       'define temp = maskout('alias',abs('mask'))'
    endif
   'set lon 0'
    say '          Computing Zonal Mean ...'
    if( lontot > 360 )
    say 'define 'name''tag' = ave(temp,lon='lonmin',lon='lonmax',-b)'
        'define 'name''tag' = ave(temp,lon='lonmin',lon='lonmax',-b)'
    else
    say 'define 'name''tag' = ave(temp,lon='lonmin',lon='lonmax')'
        'define 'name''tag' = ave(temp,lon='lonmin',lon='lonmax')'
    endif
   'set lon 'lonmin' 'lonmax
   'undefine temp'

else
* Variable is locally defined
* ---------------------------
    say 'Computing Zonal Mean for Local Variable: 'alias
    say '          LONMIN:LONMAX = 'lonmin':'lonmax
   'set lon 0'
    if( mask = '' )
        if( lontot > 360 )
        say 'define 'name''tag' = ave('alias',lon='lonmin',lon='lonmax',-b)'
            'define 'name''tag' = ave('alias',lon='lonmin',lon='lonmax',-b)'
        else
        say 'define 'name''tag' = ave('alias',lon='lonmin',lon='lonmax')'
            'define 'name''tag' = ave('alias',lon='lonmin',lon='lonmax')'
        endif
    else
        if( lontot > 360 )
        say 'define 'name''tag' = ave(maskout('alias',abs('mask')),lon='lonmin',lon='lonmax',-b)'
            'define 'name''tag' = ave(maskout('alias',abs('mask')),lon='lonmin',lon='lonmax',-b)'
        else
        say 'define 'name''tag' = ave(maskout('alias',abs('mask')),lon='lonmin',lon='lonmax')'
            'define 'name''tag' = ave(maskout('alias',abs('mask')),lon='lonmin',lon='lonmax')'
        endif
    endif
   'set lon 'lonmin' 'lonmax
endif

else
*'setz'
'setlats'
'define 'name''tag' = 'alias
endif
