require "numru/ggraph"
require "date"
include NumRu

filedir = "time_000000000-000080000"
filehead = "BS1998_"
cuttime = 0..80000
zcut = 'XYZmean'
kappa = 155.0
comax =5.0e-4
comin = -5.0e-4
ins = 2

dens_file = 'restart_long-DensBZ.nc'
exner_file = 'restart_long-ExnerBZ.nc'
ptemp_file = 'restart_long-PTempBZ.nc'

ptemp0_file = "../#{filedir}/#{filehead}PTemp_rank000000.nc"
ptemp1_file = "../#{filedir}/#{filehead}PTemp_rank000001.nc"
ptemp2_file = "../#{filedir}/#{filehead}PTemp_rank000002.nc"
ptemp3_file = "../#{filedir}/#{filehead}PTemp_rank000003.nc"
ptemp4_file = "../#{filedir}/#{filehead}PTemp_rank000004.nc"
ptemp5_file = "../#{filedir}/#{filehead}PTemp_rank000005.nc"

exner0_file = "../#{filedir}/#{filehead}Exner_rank000000.nc"
exner1_file = "../#{filedir}/#{filehead}Exner_rank000001.nc"
exner2_file = "../#{filedir}/#{filehead}Exner_rank000002.nc"
exner3_file = "../#{filedir}/#{filehead}Exner_rank000003.nc"
exner4_file = "../#{filedir}/#{filehead}Exner_rank000004.nc"
exner5_file = "../#{filedir}/#{filehead}Exner_rank000005.nc"

ptemp  = GPhys::IO.open([ptemp0_file, \
                         ptemp2_file, \
                         ptemp1_file, \
                         ptemp3_file, \
                         ptemp4_file, \
                         ptemp5_file ], \
                        'PTemp')

exner  = GPhys::IO.open([exner0_file, \
                         exner2_file, \
                         exner1_file, \
                         exner3_file, \
                         exner4_file, \
                         exner5_file ], \
                        'Exner')


densBZ  = GPhys::IO.open(dens_file, 'DensBZ')
exnerBZ  = GPhys::IO.open(exner_file, 'ExnerBZ')
ptempBZ  = GPhys::IO.open(ptemp_file, 'PTempBZ')


dens_prime = densBZ * ( exner / exnerBZ - ptemp /ptempBZ )
                      

dens_prime_XYZmean = dens_prime.mean('x').mean('y').mean('z') 


DCL.gropn(ins)
GGraph.line( dens_prime_XYZmean.cut('t'=>cuttime), 
             true, 'exchange'=>false ,
             'index'=>12, 'type'=>1, 'label'=>'dens',
             'title'=>"z=#{zcut}",
             'max'=>comax, 'min'=>comin)    

DCL.grcls
