create table icbevals (
	eval_id		varchar2(30) 		primary key,		Evaluation ID
	complete	varchar2(1),		- -			Completed flag
	number_cases	number(3),		- -			Number of cases in evaluation
	facility	number(3),		references icbdics	Experimental facility
	title		varchar2(1024),		textarea   - 		Title of evaluation
	purpose		number(3),		references icbdics	Main purpose of experiment
	mat_u		number(3),		references icbdics	Uranium material
	mat_pu		number(3),		references icbdics	Plutonium material
	mat_mixed	number(3),		references icbdics	Mixed fuel material
	mat_special	number(3),		references icbdics	Special fuel material
	date_approved	date,			- -			Date approved
	date_revised	date,			- -			Date revised
 	);

create table icbmodmat (
        exp_key         varchar2(30),		-  -			Evaluation ID
        moderator	number(3),		-  -			Moderator materials
        constraint pk_icbmodmat primary key (exp_key,moderator)
        );

create table icbsepmat (
        exp_key         varchar2(30),		-  -			Evaluation ID
        separator	number(3),		-  -			Separation materials
        constraint pk_icbsepmat primary key (exp_key,separator)
        );

create table icbcladmat (
        exp_key         varchar2(30),		-  -			Evaluation ID
        cladding	number(3),		-  -			Cladding materials
        constraint pk_icbcladmat primary key (exp_key,cladding)
        );

create table icbevaluators (
	eval_id		varchar2(30),		- -			Evaluation ID
	evaluator	number(3),		- -			Evaluator
	constraint pk_icbevaluators primary key (eval_id,evaluator)
 	);

create table icbmain_diff (
        eval_id         varchar2(30),		-  -			Evaluation ID
        main_diff       number(3),		-  -			Varying parameter accross cases
        constraint pk_icbmain_diff primary key (eval_id,main_diff)
        );

create table icbreferences (
	eval_id		varchar2(30),		- -			Evaluation ID
	line_no		number(3),		- -			Reference line number
	reference	varchar2(80),		textarea -		Bibliographic references
	constraint pk_icbreferences primary key (eval_id,line_no)
 	);

create table icbcases (
	exp_key		varchar2(35)            primary key,		Case ID
	eval_id		varchar2(20),		- -			Evaluation ID
	case_number	number(3),		- -			Case number
	case_label	varchar2(20),		- -			Case label
	pu_u_ratio	number,			calculated -		PU/U ratio
	mod_fuel_ratio	number,			calculated -		Moderator/Fuel ratio
	mod_fissile_ratio	number,		calculated -		Moderator/Fissile ratio
	nabs_liq	number(3),		references icbdics	Neutron Absorbing material - solid
	nabs_sol	number(3),		references icbdics	Neutron Absorbing material - soluble
	nabs_liq_conc	number,			- -			Neutron Absorbing material concentration
	reflector	number(3),		references icbdics	Reflector
	ealf		number,			- -			EALF
	afge		number,			- -			AFGE
	prod_abs_ratio	number,			- -			Production/Absorption ratio
	confidence	number,			- -			Keff uncertainty confidence interval flag
	uncertainty	number,			- -			Keff uncertainty
	keff		number,			- -			Keff
	temperature	number,			- -			Temperature
	exp_years	varchar2(20),		- -			Year of experiment (start)
	exp_years_end	varchar2(10),		- -			Year of experiment (end)
	fiss_conc	number,			- -			Fuel concentration
	fissile_units	number(3),		- -			Number of fissile units
	geometry	number(3),		references icbdics	Geometry of apparatus
	pitch		number(3),		references icbdics	Heterogeneous pitch type
	fuel_radius	number,			- -			Fuel pin radius
	clad_radius	number,			- -			Outer clad radius
	pitch_size	number,			- -			Pitch size
	core_type	varchar2(50),		- -			Core geometry
	assm_type	varchar2(50),		- -			Assembly geometry
	edge_dist	number,			- -			Edge to edge distance
	desc_core	varchar2(1024),		textarea  - 		Complex Core Description
	desc_assm	varchar2(1024),		textarea  - 		Complex Assembly description
	fuel_thick	number,			- -
	clad_thick	number,			- -
	clad_radius_out	number,			- -
	mod_rat		number,			- -			Same as manual mod_fuel_ratio 
	mod_rat_type	number(3),		references icbdics
	fuel_form	number(3)		references icbdics
	commt		varchar2(1024)		textarea -		Comment
 	);

create table icbg3 (
	exp_key		varchar2(35)            primary key,		Case ID
	flux_g31	number,			- -			Flux spectrum under 0.625 eV
	flux_g32	number,			- -			Flux spectrum between 0.625 eV and 100 keV
	flux_g33	number,			- -			Flux spectrum above 100 keV
	fission_g31	number,			- -			Fission spectrum under 0.625 eV              	
	fission_g32	number,			- -			Fission spectrum between 0.625 eV and 100 keV	
	fission_g33	number,			- -			Fission spectrum above 100 keV               	
	capture_g31	number,			- -			Capture spectrum under 0.625 eV              	
	capture_g32	number,			- -			Capture spectrum between 0.625 eV and 100 keV
	capture_g33	number			- -			Capture spectrum above 100 keV               
 	);

create table icbcomps (
	exp_key		varchar2(35)            primary key,		Case ID
	isotope		varchar2(6),		- -			Isotope
	percent		number,			- -			Atomic density
	weightpc	number,			calculated -		Percent weight
	fissions	number,			- -			Percent fissions
	captures	number,			- -			percent captures
	constraint pk_icbccomps primary key (exp_key,partition,isotope)
 	);

create table icbcalcs (
	exp_key		varchar2(35),		- -			Case ID
	codename	number(3),		references icbdics	Code name
	library		number(3),		references icbdics	Data library
	code_keff	number,			- -			Calculated Keff
	code_dkeff	number,			- -			Calculated Keff uncertainty
	constraint pk_icbcalcs primary key (exp_key,codename,library)
	);

create table icbdics (
	dickey		number(3)               primary key,		Dictionary key
	dicname		varchar2(15),		- -			Dictionary name
	code		varchar2(20),		- -			Code abbreviation (not used)
	descr		varchar2(50)		- -			Code description
	);

create table icbreviewer (
        exp_key         varchar2(30),		- -			Case ID
	name_key	number references name, - -			Reviewer key
	review_status	varchar2(1),		- -			Review status
	date_status	date,			- -			Date of last status
	username	varchar2(20)		calculated - 		username of reviewer
        constraint pk_icbrev primary key (exp_key,name_key)
        );
