callfm%register('U','m2/s','transport in local x-direction',standard_name='',data2d=U(_2D_W_),category='2d',output_level=output_level_debug,part_of_state=.true.)
callfm%register('V','m2/s','transport in local y-direction',standard_name='',data2d=V(_2D_W_),category='2d',output_level=output_level_debug,part_of_state=.true.)
callfm%register('velx','m/s','velocity in global x-direction',standard_name='',data2d=velx(_2D_W_),category='2d',fill_value=-9999.0_rk,output_level=output_level_debug)
callfm%register('vely','m/s','velocity in global y-direction',standard_name='',data2d=vely(_2D_W_),category='2d',fill_value=-9999.0_rk,output_level=output_level_debug)
callfm%register('ssen','m','elevation at T-points (3D)',standard_name='',data2d=ssen(_2D_W_),category='3d',fill_value=-9999.0_rk,output_level=output_level_debug,part_of_state=.true.)
callfm%register('ssun','m','elevation at U-points (3D)',standard_name='',data2d=ssun(_2D_W_),category='3d',output_level=output_level_debug,part_of_state=.true.)
callfm%register('ssvn','m','elevation at V-points (3D)',standard_name='',data2d=ssvn(_2D_W_),category='3d',output_level=output_level_debug,part_of_state=.true.)
callfm%register('sseo','m','old elevation at T-points (3D)',standard_name='',data2d=sseo(_2D_W_),category='3d',fill_value=-9999.0_rk,output_level=output_level_debug,part_of_state=.true.)
callfm%register('uu','m2/s','transport in local x-direction (3D)',standard_name='',dimensions=(/id_dim_z/),data3d=uu(_3D_W_),category='3d',output_level=output_level_debug,part_of_state=.true.)
callfm%register('vv','m2/s','transport in local y-direction (3D)',standard_name='',dimensions=(/id_dim_z/),data3d=vv(_3D_W_),category='3d',output_level=output_level_debug,part_of_state=.true.)
callfm%register('velx3d','m/s','velocity in global x-direction (3D)',standard_name='',dimensions=(/id_dim_z/),data3d=velx3d(_3D_W_),category='3d',fill_value=-9999.0_rk,output_level=output_level_debug)
callfm%register('vely3d','m/s','velocity in global y-direction (3D)',standard_name='',dimensions=(/id_dim_z/),data3d=vely3d(_3D_W_),category='3d',fill_value=-9999.0_rk,output_level=output_level_debug)
callfm%register('velx2dadv','m/s','depth-avg. velocity in global x-direction (3D)',standard_name='',data2d=velx2dadv(_2D_W_),category='3d',fill_value=-9999.0_rk,output_level=output_level_debug)
callfm%register('vely2dadv','m/s','depth-avg. velocity in global y-direction (3D)',standard_name='',data2d=vely2dadv(_2D_W_),category='3d',fill_value=-9999.0_rk,output_level=output_level_debug)
callfm%register('SS','s-2','shear frequency squared',standard_name='',dimensions=(/id_dim_z/),data3d=SS(_3D_W_),category='3d',output_level=output_level_debug)
callfm%register('NN','s-2','buoyancy frequency squared',standard_name='',dimensions=(/id_dim_z/),data3d=NN(_3D_W_),category='baroclinic',output_level=output_level_debug)
callfm%register('nummix_temp','degC**2/s','numerical mixing of temperature',standard_name='',dimensions=(/id_dim_z/),category='3d',output_level=output_level_debug)
callfm%register('phymix_temp','degC**2/s','physical mixing of temperature',standard_name='',dimensions=(/id_dim_z/),category='3d',output_level=output_level_debug)
endif
if(calc_salt)then
callfm%register('nummix_salt','psu**2/s','numerical mixing of salinity',standard_name='',dimensions=(/id_dim_z/),category='3d',output_level=output_level_debug)
callfm%register('phymix_salt','psu**2/s','physical mixing of salinity',standard_name='',dimensions=(/id_dim_z/),category='3d',output_level=output_level_debug)