Merge branch 'ncep_14.3.1' of ssh://collaborate3.nws.noaa.gov:29418/AWIPS2_Dev_Baseline into master_14.3.1

Former-commit-id: 9fc3eb20c1 [formerly 6ad8d500ef] [formerly 9fc3eb20c1 [formerly 6ad8d500ef] [formerly 9c33ae6d2c [formerly e895f7927a95c2416c05953e131d9e0c6095beb3]]]
Former-commit-id: 9c33ae6d2c
Former-commit-id: a97370769f [formerly 3b48d6368d]
Former-commit-id: 2a456a1b9b
This commit is contained in:
Brian.Dyke 2014-09-19 14:42:29 -04:00
commit d1c45356d3
537 changed files with 66271 additions and 48751 deletions

View file

@ -306,7 +306,14 @@
unpack="false"/>
<plugin
id="gov.noaa.nws.ncep.viz.timeseries"
id="gov.noaa.nws.ncep.viz.ui.remotescript"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="gov.noaa.nws.ncep.viz.rsc.timeseries"
download-size="0"
install-size="0"
version="0.0.0"

View file

@ -0,0 +1,158 @@
-- create nwx.adminmessages table
DROP TABLE IF EXISTS nwx.adminmessages CASCADE;
CREATE TABLE nwx.adminmessages(
id SERIAL PRIMARY KEY,
productname varchar(60) NOT NULL,
producttablename varchar(30) NOT NULL,
producttype varchar(20) NOT NULL
);
-- create nwx.cmcam table
DROP TABLE IF EXISTS nwx.cmcam CASCADE;
CREATE TABLE nwx.cmcam(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
-- create nwx.ncfam table
DROP TABLE IF EXISTS nwx.ncfam CASCADE;
CREATE TABLE nwx.ncfam(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
-- create nwx.nesdisam table
DROP TABLE IF EXISTS nwx.nesdisam CASCADE;
CREATE TABLE nwx.nesdisam(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
-- create nwx.nesdispm table
DROP TABLE IF EXISTS nwx.nesdispm CASCADE;
CREATE TABLE nwx.nesdispm(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
-- create nwx.snwstgam table
DROP TABLE IF EXISTS nwx.nwstgam CASCADE;
CREATE TABLE nwx.nwstgam(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
-- Drop nwx.sdm table
DROP TABLE IF EXISTS nwx.sdm CASCADE;
-- create nwx.sdmam table
DROP TABLE IF EXISTS nwx.sdmam CASCADE;
CREATE TABLE nwx.sdmam(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
-- create nwx.sdmim table
DROP TABLE IF EXISTS nwx.sdmim CASCADE;
CREATE TABLE nwx.sdmim(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
-- create nwx.sdmdhm table
DROP TABLE IF EXISTS nwx.sdmdhm CASCADE;
CREATE TABLE nwx.sdmdhm(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
INSERT INTO nwx.datatypegrouplist (datatypegroupname,datatypegrouptablename) values ('Admin Messages','nwx.adminmessages');
INSERT INTO nwx.adminmessages(productname,producttablename,producttype) values ('SDM Administrative Messages','nwx.sdmam','sdmam');
INSERT INTO nwx.sdmam (productid,stnid,stnname,state,country,latitude,longitude,elevation) values ('NOUS42','KWNO','NMC','MD','US',38.82,-76.87,86);
INSERT INTO nwx.adminmessages(productname,producttablename,producttype) values ('SDM International Messages','nwx.sdmim','sdmim');
INSERT INTO nwx.sdmim (productid,stnid,stnname,state,country,latitude,longitude,elevation) values ('NPXX10','KWNO','NMC','MD','US',38.82,-76.87,86);
INSERT INTO nwx.adminmessages(productname,producttablename,producttype) values ('SDM DHS Hazards Messages','nwx.sdmdhm','sdmdhm');
INSERT INTO nwx.sdmdhm (productid,stnid,stnname,state,country,latitude,longitude,elevation) values ('NOUS71','KWNO','NMC','MD','US',38.82,-76.87,86);
INSERT INTO nwx.adminmessages(productname,producttablename,producttype) values ('CMC Administrative Messages','nwx.cmcam','cmcam');
INSERT INTO nwx.cmcam (productid,stnid,stnname,state,country,latitude,longitude,elevation) values ('NOCN05', 'CWAO','MONTREAL_VAAC','CN','CN',45.47,-73.75,-9999);
INSERT INTO nwx.cmcam (productid,stnid,stnname,state,country,latitude,longitude,elevation) values ('AACN01', 'CWAO','MONTREAL_VAAC','CN','CN',45.47,-73.75,-9999);
INSERT INTO nwx.adminmessages(productname,producttablename,producttype) values ('NWSTG Administrative Messages','nwx.nwstgam','nwstgam');
INSERT INTO nwx.nwstgam (productid,stnid,stnname,state,country,latitude,longitude,elevation) values ('NOXX01', 'KWBC','NMC','MD','US',38.82,-76.87,86);
INSERT INTO nwx.adminmessages(productname,producttablename,producttype) values ('NCF Administrative Messages','nwx.ncfam','ncfam');
INSERT INTO nwx.ncfam (productid,stnid,stnname,state,country,latitude,longitude,elevation) values ('NOUS72', 'KNCF','NMC','MD','US',38.82,-76.87,86);
INSERT INTO nwx.adminmessages(productname,producttablename,producttype) values ('NESDIS Product Anomaly Messages','nwx.nesdispm','nesdispm');
INSERT INTO nwx.nesdispm (productid,stnid,stnname,state,country,latitude,longitude,elevation) values ('NOUS71', 'KNES','NESDIS','MD','US',38.82,-76.87,86);
INSERT INTO nwx.adminmessages(productname,producttablename,producttype) values ('NESDIS Administrative Messages','nwx.nesdisam','nesdisam');
INSERT INTO nwx.nesdisam (productid,stnid,stnname,state,country,latitude,longitude,elevation) values ('NOUS72', 'KNES','NESDIS','MD','US',38.82,-76.87,86);
DELETE from nwx.hpcproducts where productname='SDM Messages';
DELETE from nwx.hpcproducts where productname='International Messages';
DROP TABLE nwx.sdm;
DROP TABLE nwx.intl;
\connect metadata awips
INSERT INTO awips.nctext_inputfile_type VALUES (181,'sdmdhm','W');
INSERT INTO awips.nctext_inputfile_type VALUES (182,'cmcam','W');
INSERT INTO awips.nctext_inputfile_type VALUES (183,'nwstgam','W');
INSERT INTO awips.nctext_inputfile_type VALUES (184,'ncfam','W');
INSERT INTO awips.nctext_inputfile_type VALUES (185,'nesdispm','W');
INSERT INTO awips.nctext_inputfile_type VALUES (186,'nesdisam','W');
INSERT INTO awips.nctext_inputfile_type VALUES (185,'sdmam','B');
INSERT INTO awips.nctext_inputfile_type VALUES (186,'sdmim','W');

View file

@ -0,0 +1,5 @@
#!/bin/bash
PSQL=/awips2/psql/bin/psql
DIR=`dirname $0`
${PSQL} -U awips -d ncep -f ${DIR}/addNcepNwxAdminMessageGpTable.sql

View file

@ -0,0 +1,157 @@
-- create nwx.adminmessages table
DROP TABLE IF EXISTS nwx.adminmessages CASCADE;
CREATE TABLE nwx.adminmessages(
id SERIAL PRIMARY KEY,
productname varchar(60) NOT NULL,
producttablename varchar(30) NOT NULL,
producttype varchar(20) NOT NULL
);
-- create nwx.cmcam table
DROP TABLE IF EXISTS nwx.cmcam CASCADE;
CREATE TABLE nwx.cmcam(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
-- create nwx.ncfam table
DROP TABLE IF EXISTS nwx.ncfam CASCADE;
CREATE TABLE nwx.ncfam(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
-- create nwx.nesdisam table
DROP TABLE IF EXISTS nwx.nesdisam CASCADE;
CREATE TABLE nwx.nesdisam(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
-- create nwx.nesdispm table
DROP TABLE IF EXISTS nwx.nesdispm CASCADE;
CREATE TABLE nwx.nesdispm(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
-- create nwx.snwstgam table
DROP TABLE IF EXISTS nwx.nwstgam CASCADE;
CREATE TABLE nwx.nwstgam(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
-- Drop nwx.sdm table
DROP TABLE IF EXISTS nwx.sdm CASCADE;
-- create nwx.sdmam table
DROP TABLE IF EXISTS nwx.sdmam CASCADE;
CREATE TABLE nwx.sdmam(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
-- create nwx.sdmim table
DROP TABLE IF EXISTS nwx.sdmim CASCADE;
CREATE TABLE nwx.sdmim(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
-- create nwx.sdmdhm table
DROP TABLE IF EXISTS nwx.sdmdhm CASCADE;
CREATE TABLE nwx.sdmdhm(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
INSERT INTO nwx.datatypegrouplist (datatypegroupname,datatypegrouptablename) values ('Admin Messages','nwx.adminmessages');
INSERT INTO nwx.adminmessages(productname,producttablename,producttype) values ('SDM Administrative Messages','nwx.sdmam','sdmam');
INSERT INTO nwx.sdmam (productid,stnid,stnname,state,country,latitude,longitude,elevation) values ('NOUS42','KWNO','NMC','MD','US',38.82,-76.87,86);
INSERT INTO nwx.adminmessages(productname,producttablename,producttype) values ('SDM International Messages','nwx.sdmim','sdmim');
INSERT INTO nwx.sdmim (productid,stnid,stnname,state,country,latitude,longitude,elevation) values ('NPXX10','KWNO','NMC','MD','US',38.82,-76.87,86);
INSERT INTO nwx.adminmessages(productname,producttablename,producttype) values ('SDM DHS Hazards Messages','nwx.sdmdhm','sdmdhm');
INSERT INTO nwx.sdmdhm (productid,stnid,stnname,state,country,latitude,longitude,elevation) values ('NOUS71','KWNO','NMC','MD','US',38.82,-76.87,86);
INSERT INTO nwx.adminmessages(productname,producttablename,producttype) values ('CMC Administrative Messages','nwx.cmcam','cmcam');
INSERT INTO nwx.cmcam (productid,stnid,stnname,state,country,latitude,longitude,elevation) values ('NOCN05', 'CWAO','MONTREAL_VAAC','CN','CN',45.47,-73.75,-9999);
INSERT INTO nwx.cmcam (productid,stnid,stnname,state,country,latitude,longitude,elevation) values ('AACN01', 'CWAO','MONTREAL_VAAC','CN','CN',45.47,-73.75,-9999);
INSERT INTO nwx.adminmessages(productname,producttablename,producttype) values ('NWSTG Administrative Messages','nwx.nwstgam','nwstgam');
INSERT INTO nwx.nwstgam (productid,stnid,stnname,state,country,latitude,longitude,elevation) values ('NOXX01', 'KWBC','NMC','MD','US',38.82,-76.87,86);
INSERT INTO nwx.adminmessages(productname,producttablename,producttype) values ('NCF Administrative Messages','nwx.ncfam','ncfam');
INSERT INTO nwx.ncfam (productid,stnid,stnname,state,country,latitude,longitude,elevation) values ('NOUS72', 'KNCF','NMC','MD','US',38.82,-76.87,86);
INSERT INTO nwx.adminmessages(productname,producttablename,producttype) values ('NESDIS Product Anomaly Messages','nwx.nesdispm','nesdispm');
INSERT INTO nwx.nesdispm (productid,stnid,stnname,state,country,latitude,longitude,elevation) values ('NOUS71', 'KNES','NESDIS','MD','US',38.82,-76.87,86);
INSERT INTO nwx.adminmessages(productname,producttablename,producttype) values ('NESDIS Administrative Messages','nwx.nesdisam','nesdisam');
INSERT INTO nwx.nesdisam (productid,stnid,stnname,state,country,latitude,longitude,elevation) values ('NOUS72', 'KNES','NESDIS','MD','US',38.82,-76.87,86);
INSERT INTO awips.nctext_inputfile_type VALUES (181,'sdmdhm','W');
INSERT INTO awips.nctext_inputfile_type VALUES (182,'cmcam','W');
INSERT INTO awips.nctext_inputfile_type VALUES (183,'nwstgam','W');
INSERT INTO awips.nctext_inputfile_type VALUES (184,'ncfam','W');
INSERT INTO awips.nctext_inputfile_type VALUES (185,'nesdispm','W');
INSERT INTO awips.nctext_inputfile_type VALUES (186,'nesdisam','W');
INSERT INTO awips.nctext_inputfile_type VALUES (185,'sdmam','B');
INSERT INTO awips.nctext_inputfile_type VALUES (186,'sdmim','W');
DELETE from nwx.hpcproducts where productname='SDM Messages';
DELETE from nwx.hpcproducts where productname='International Messages';
DROP TABLE nwx.sdm;
DROP TABLE nwx.intl;

View file

@ -195,6 +195,15 @@ producttablename varchar(30) NOT NULL,
producttype varchar(20) NOT NULL
);
-- create nwx.adminmessages table
DROP TABLE IF EXISTS nwx.adminmessages CASCADE;
CREATE TABLE nwx.adminmessages(
id SERIAL PRIMARY KEY,
productname varchar(60) NOT NULL,
producttablename varchar(30) NOT NULL,
producttype varchar(20) NOT NULL
);
-------------------------------------------------
-- create nwx bulletin tables
-- ---------------------------------------------
@ -355,6 +364,20 @@ id SERIAL PRIMARY KEY,
elevation int NOT NULL
);
-- create nwx.cmcam table
DROP TABLE IF EXISTS nwx.cmcam CASCADE;
CREATE TABLE nwx.cmcam(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
--create nwx.consig table
DROP TABLE IF EXISTS nwx.consig CASCADE;
CREATE TABLE nwx.consig(
@ -1016,6 +1039,48 @@ id SERIAL PRIMARY KEY,
elevation int NOT NULL
);
-- create nwx.ncfam table
DROP TABLE IF EXISTS nwx.ncfam CASCADE;
CREATE TABLE nwx.ncfam(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
-- create nwx.nesdisam table
DROP TABLE IF EXISTS nwx.nesdisam CASCADE;
CREATE TABLE nwx.nesdisam(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
-- create nwx.nesdispam table
DROP TABLE IF EXISTS nwx.nesdispam CASCADE;
CREATE TABLE nwx.nesdispam(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
-- create nwx.ngmgd table
DROP TABLE IF EXISTS nwx.ngmgd CASCADE;
CREATE TABLE nwx.ngmgd(
@ -1058,6 +1123,20 @@ id SERIAL PRIMARY KEY,
elevation int NOT NULL
);
-- create nwx.snwstgam table
DROP TABLE IF EXISTS nwx.nwstgam CASCADE;
CREATE TABLE nwx.nwstgam(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
-- create nwx.off table
DROP TABLE IF EXISTS nwx.off CASCADE;
CREATE TABLE nwx.off(
@ -1400,9 +1479,37 @@ id SERIAL PRIMARY KEY,
elevation int NOT NULL
);
-- create nwx.sdm table
DROP TABLE IF EXISTS nwx.sdm CASCADE;
CREATE TABLE nwx.sdm(
-- create nwx.sdmam table
DROP TABLE IF EXISTS nwx.sdmam CASCADE;
CREATE TABLE nwx.sdmam(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
-- create nwx.sdmim table
DROP TABLE IF EXISTS nwx.sdmim CASCADE;
CREATE TABLE nwx.sdmim(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,
stnname varchar(32) NOT NULL,
state varchar(2) NOT NULL,
country varchar(2) NOT NULL,
latitude double precision NOT NULL,
longitude double precision NOT NULL,
elevation int NOT NULL
);
-- create nwx.sdmdhm table
DROP TABLE IF EXISTS nwx.sdmdhm CASCADE;
CREATE TABLE nwx.sdmdhm(
id SERIAL PRIMARY KEY,
productid varchar(6) NOT NULL,
stnid varchar(8) NOT NULL,

View file

@ -25,3 +25,4 @@ ${1}/bin/psql -d ncep -U ${3} -q -p ${2} -f ${4}/loadNwxReconCARCAHBulletinTable
${1}/bin/psql -d ncep -U ${3} -q -p ${2} -f ${4}/loadNwxSPCProductsBulletinTables.sql >> ${5} 2>&1
${1}/bin/psql -d ncep -U ${3} -q -p ${2} -f ${4}/loadNwxTropicalPacificBulletinTables.sql >> ${5} 2>&1
${1}/bin/psql -d ncep -U ${3} -q -p ${2} -f ${4}/loadNwxVolcanoProductsBulletinTables.sql >> ${5} 2>&1
${1}/bin/psql -d ncep -U ${3} -q -p ${2} -f ${4}/loadNwxAdminMessagesBulletinTables.sql >> ${5} 2>&1

View file

@ -0,0 +1,40 @@
-- load nwx.sdmam table
copy nwx.sdmam (productid,stnid,stnname,state,country,latitude,longitude,elevation) FROM stdin with delimiter as ',';
NOUS42,KWNO,NMC,MD,US,38.82,-76.87,86
\.
-- load nwx.sdmim table
copy nwx.sdmim (productid,stnid,stnname,state,country,latitude,longitude,elevation) FROM stdin with delimiter as ',';
NPXX10,KWNO,NMC,MD,US,38.82,-76.87,86
\.
-- load nwx.sdmdhm table
copy nwx.sdmdhm (productid,stnid,stnname,state,country,latitude,longitude,elevation) FROM stdin with delimiter as ',';
NOUS71,KWNO,NMC,MD,US,38.82,-76.87,86
\.
-- load nwx.nwstgam table
copy nwx.nwstgam (productid,stnid,stnname,state,country,latitude,longitude,elevation) FROM stdin with delimiter as ',';
NOXX01,KWBC,NMC,MD,US,38.82,-76.87,86
\.
-- load nwx.ncfam table
copy nwx.ncfam (productid,stnid,stnname,state,country,latitude,longitude,elevation) FROM stdin with delimiter as ',';
NOUS72,KNCF,NMC,MD,US,38.82,-76.87,86
\.
-- load nwx.nesdispm table
copy nwx.nesdispm (productid,stnid,stnname,state,country,latitude,longitude,elevation) FROM stdin with delimiter as ',';
NOUS71,KNES,NMC,MD,US,38.82,-76.87,86
\.
-- load nwx.nesdisam table
copy nwx.nesdisam (productid,stnid,stnname,state,country,latitude,longitude,elevation) FROM stdin with delimiter as ',';
NOUS72,KNES,NMC,MD,US,38.82,-76.87,86
\.
-- load nwx.cmcam table
copy nwx.cmcam (productid,stnid,stnname,state,country,latitude,longitude,elevation) FROM stdin with delimiter as ',';
NOCN05,CWAO,MONTREAL_VAAC,CN,CN,45.47,-73.75,-9999
AACN01,CWAO,MONTREAL_VAAC,CN,CN,45.47,-73.75,-9999
\.

View file

@ -64,6 +64,19 @@ HPC Heat Index,nwx.hpcheatindex
CPC Products,nwx.cpcproducts
Volcano Products,nwx.volcanoproducts
Fire Weather Products,nwx.fireweatherproducts
Admin Messages,nwx.adminmessages
\.
--load nwx.adminmessages table
copy nwx.adminmessages (productname,producttablename,producttype) FROM stdin with delimiter as ',' ;
SDM Administrative Messages,nwx.sdmam,sdm
SDM International Messages,nwx.sdmim,intl
SDM DHS Hazards Messages,nwx.sdmdhm
CMC Administrative Messages,nwx.cmcam
NWSTG Administrative Messages,nwx.nwstgam
NCF Administrative Messages,nwx.ncfam
NESDIS Product Anomaly Messages,nwx.nesdispam
NESDIS Administrative Messages,nwx.nesdisam
\.
--load nwx.observeddataproducts table
@ -135,8 +148,6 @@ Hawaii Discussion,nwx.pmdhi,PMDHI
Alaska Discussion,nwx.pmdak,PMDAK
S Amer Discussion,nwx.pmdsa,PMDSA
Caribbean Discussion,nwx.pmdca,PMDCA
SDM Messages,nwx.sdm,sdm
International Messages,nwx.intl,intl
Storm Summaries,nwx.stations,storm
Model Diag Discussion,nwx.pmdhmd,PMDHMD
Selected Cities,nwx.scs,SCS

View file

@ -8658,7 +8658,7 @@ copy nwx.sfstns (productid,stnid,stnname,state,country,latitude,longitude,elevat
085010;LPFL;FLORES_ISLAND;--;AZ;39.45;-31.13;29
999999;M97;TUNICA;MS;US;34.86;-90.35;59
999999;MDD;MIDLAND;TX;US;32.04;-102.10;854
890090;NZSP;AMUNDSEN-SCOTT_SOUTH_POLE_STN;--;NZ;-90.00;0.00;2830
890090;NZSP;AMUNDSEN-SCOTT_SOUTH_POLE_STN;--;NZ;-89.99;0.01;2830
999999;PCZ;WAUPACA;WI;US;44.33;-89.01;252
999999;RCX;LADYSMITH;WI;US;45.50;-91.00;377
800630;SKMR;MONTERIA/LOS_GARZON;--;CO;8.82;-75.85;26
@ -10043,7 +10043,7 @@ copy nwx.snstns (productid,stnid,stnname,state,country,latitude,longitude,elevat
87860;SAVC;COMODORO_RIVADAVIA_AERO;--;AG;-45.78;-67.50;46
88889;EGYP;MOUNT_PLEASANT_AIRPORT;--;FK;-51.81;-58.45;73
89002;--;NEUMAYER;--;AA;-70.66;-8.25;50
89009;--;AMUNDSEN-SCOTT;--;AA;-90.00;0.00;2835
89009;--;AMUNDSEN-SCOTT;--;AA;-89.99;0.01;2835
89022;--;HALLEY;--;AA;-75.50;-26.65;30
89050;--;BELLINGSHAUSEN_AWS;--;AA;-62.20;-58.93;14
89055;--;BASE_MARAMBIO;--;AA;-64.23;-56.71;198

View file

@ -313,7 +313,7 @@ COPY stns.VORS(PKEY, STATION_ID, STATION_NUM, NAME, STATE, COUNTRY, LATITUDE, LO
312,RBL,225,RED_BLUFF,CA,US,40.1,-122.24
313,SEA,243,SEATTLE,WA,US,47.44,-122.31
314,HUH,35,WHATCOM,WA,US,48.95,-122.58
315,PDX,208,PORTLAND,OR,US,45.58,-122.6
315,BTG,208,BATTLE_GROUND,WA,US,45.75,-122.59
316,PYE,371,POINT_REYES,CA,US,38.08,-122.87
317,OED,362,MEDFORD,OR,US,42.48,-122.91
318,EUG,93,EUGENE,OR,US,44.12,-123.22

View file

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<latLonGridCoverage>
<name>ECMWF-wave-0p25deg</name>
<description>Global Latitude/Longitude 0.25 deg Resolution</description>
<la1>90.0</la1>
<lo1>-180.0</lo1>
<firstGridPointCorner>UpperLeft</firstGridPointCorner>
<nx>1441</nx>
<ny>685</ny>
<dx>0.25</dx>
<dy>0.25</dy>
<spacingUnit>degree</spacingUnit>
<la2>-81.0</la2>
<lo2>180.0</lo2>
</latLonGridCoverage>

View file

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<lambertConformalGridCoverage>
<name>14731025001</name>
<description>HIRES - 5 km Western US</description>
<la1>12.19</la1>
<lo1>-133.459</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>1473</nx>
<ny>1025</ny>
<dx>5.079</dx>
<dy>5.079</dy>
<spacingUnit>km</spacingUnit>
<minorAxis>6371229.0</minorAxis>
<majorAxis>6371229.0</majorAxis>
<lov>-95.0</lov>
<latin1>25.</latin1>
<latin2>25.</latin2>
</lambertConformalGridCoverage>

View file

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<latLonGridCoverage>
<name>1440721001</name>
<description>High Resolution (0.25 by 0.25) CED grids</description>
<la1>90.0</la1>
<lo1>0.0</lo1>
<firstGridPointCorner>UpperLeft</firstGridPointCorner>
<nx>1440</nx>
<ny>721</ny>
<dx>.25</dx>
<dy>.25</dy>
<spacingUnit>degree</spacingUnit>
</latLonGridCoverage>

View file

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<lambertConformalGridCoverage>
<name>17991059001</name>
<description>3 km LCC limited domain CONUS grid (used by HRRR)</description>
<la1>21.138</la1>
<lo1>-122.72</lo1>
<firstGridPointCorner>LowerLeft</firstGridPointCorner>
<nx>1799</nx>
<ny>1059</ny>
<dx>3.0</dx>
<dy>3.0</dy>
<spacingUnit>km</spacingUnit>
<minorAxis>6371229.0</minorAxis>
<majorAxis>6371229.0</majorAxis>
<lov>-97.5</lov>
<latin1>38.5</latin1>
<latin2>38.5</latin2>
</lambertConformalGridCoverage>

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
This_software_product_contains_export-restricted_data_whose
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
an_export_license_or_other_authorization.
Contractor_Name:________Raytheon_Company
Contractor_Address:_____6825_Pine_Street,_Suite_340
________________________Mail_Stop_B8
________________________Omaha,_NE_68106
________________________402.291.0100
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
further_licensing_information.
-->
<latLonGridCoverage>
<name>193</name>
<description>Global Latitude/Longitude 0.25 deg Resolution</description>
<la1>90.0</la1>
<lo1>0.0</lo1>
<firstGridPointCorner>UpperLeft</firstGridPointCorner>
<nx>1440</nx>
<ny>721</ny>
<dx>.25</dx>
<dy>.25</dy>
<spacingUnit>degree</spacingUnit>
<la2>-90.0</la2>
<lo2>359.75</lo2>
</latLonGridCoverage>

View file

@ -11,20 +11,6 @@
<gribModelSet>
<!-- SUBCENTER 0 -->
<model>
<name>ecens</name>
<center>98</center>
<subcenter>0</subcenter>
<grid>360181001</grid>
<process>
<id>141</id>
<id>142</id>
<id>143</id>
<id>144</id>
<id>145</id>
</process>
</model>
<model>
<name>ecmwfP25</name>
<center>98</center>

View file

@ -1385,6 +1385,16 @@
</process>
</model>
<model>
<name>HiResW-ARW-US</name>
<center>7</center>
<subcenter>0</subcenter>
<grid>14731025001</grid>
<process>
<id>116</id>
</process>
</model>
<model>
<name>HiResW-NMM-East</name>
<center>7</center>
@ -1446,6 +1456,17 @@
</process>
</model>
<model>
<name>HiResW-NMM-US</name>
<center>7</center>
<subcenter>0</subcenter>
<grid>14731025001</grid>
<process>
<id>112</id>
</process>
</model>
<model>
<name>hireswNmmGuam</name>
<center>7</center>

View file

@ -211,6 +211,7 @@
<alias base="MCDC">CLDM</alias>
<alias base="MIXR">MIXR</alias>
<alias base="MMSP">MMSL</alias>
<alias base="MN2T66hr">TKMN06</alias>
<alias base="MnT">TMNK</alias>
<alias base="MnT1hr">TMNK01</alias>
<alias base="MnT3hr">TMNK03</alias>
@ -220,6 +221,7 @@
<alias base="MnT18hr">TMNK18</alias>
<alias base="MnT24hr">TMNK24</alias>
<alias base="MnT48hr">TMNK48</alias>
<alias base="MX2T66hr">TKMX06</alias>
<alias base="MxT">TMXK</alias>
<alias base="MxT1hr">TMXK01</alias>
<alias base="MxT3hr">TMXK03</alias>
@ -303,6 +305,7 @@
<alias base="TCC18hr">TCLD18</alias>
<alias base="TCC24hr">TCLD24</alias>
<alias base="TCC48hr">TCLD48</alias>
<alias base="TCWAT">TCWTR</alias>
<alias base="ThP">TSTM</alias>
<alias base="TOZNE">TOZO</alias>
<alias base="TP">APCP</alias>

View file

@ -56,6 +56,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* PluginDataObject.
* July 29, 2013 1028 ghull add AwwReportType enum
* Feb 11, 2014 2784 rferrel Remove override of setIdentifier.
* July 07, 2014 ??? D. Sushon add handling for TORNADO_WATCH in getReportType(..)
*
* </pre>
*
@ -111,8 +112,12 @@ public class AwwRecord extends PluginDataObject {
if (rtStr.equals("THUNDERSTORM_REPORT")) {
return SEVERE_THUNDERSTORM_WATCH;
}
if (rtStr.endsWith("STATUS REPORT")) {
if (rtStr.equals("TORNADO_REPORT")) {
return TORNADO_WATCH;
}
if (rtStr.endsWith("STATUS_REPORT")) {
// ??? return AwwReportType.SEVERE_WEATHER_STATUS_NOTIFICATION
return AwwReportType.STATUS_REPORT;
}
// WSTM is looking for
if (rtStr.equals("WINTER_STORM")) {

View file

@ -10,11 +10,12 @@ import java.util.List;
* <pre>
* SOFTWARE HISTORY
*
* ate Ticket# Engineer Description
* Date Ticket# Engineer Description
* ----------- ---------- ---------- --------------------------
* 05/14/2013 #989 qzhou Initial Creation
* 03/18/2014 #1123 qzhou Add getHdevOrDDev
* 04/09/2014 #1123 qzhou Modified getKIndex for gamma value
* 06/23/2014 R4152 qzhou Fixed on getQHAQDC formula
* </pre>
*
* @author qzhou
@ -25,7 +26,7 @@ public class CalcEach1min {
private static final int MAX_GAP_LENGTH = 15;
private static final int SMOOTH_WINDOW = 60;//
private static final int SMOOTH_WINDOW = 60;
private static final int TRANSITION_TIME = 60;
@ -103,14 +104,14 @@ public class CalcEach1min {
for (int i = 0; i < HOURS; i++) {
fitLength[i] = 30.0f + defLength[i];
ind[i] = (int) Math.floor(i / 3);
ind[i] = (int) Math.floor(i / 3.0f);
curK[i] = kIndex[ind[i]];
if (curK[i] != MISSING_VAL)
fitLength[i] += kLength[(int) curK[i]];
if (fitLength[i] > 1440)
fitLength[i] = 1440;
if (fitLength[i] > 1440.0f)
fitLength[i] = 1440.0f;
}
return fitLength;
@ -365,9 +366,11 @@ public class CalcEach1min {
float jump = qdc[0] - qdc[1439];
for (int i = 0; i < SMOOTH_WINDOW; i++) {
data[1440 - SMOOTH_WINDOW - i] += i / (SMOOTH_WINDOW - 1) * 0.5
* jump;
data[i] -= (1 - i / (SMOOTH_WINDOW - 1)) * 0.5 * jump;
data[1440 - SMOOTH_WINDOW + i] += ((float) i / (SMOOTH_WINDOW - 1))
* 0.5f * jump;
data[i] -= (1.0f - (float) i / (SMOOTH_WINDOW - 1)) * 0.5f * jump;
}
return data;

View file

@ -12,10 +12,11 @@ import java.util.Map;
* <pre>
* SOFTWARE HISTORY
*
* ate Ticket# Engineer Description
* Date Ticket# Engineer Description
* ----------- ---------- ---------- --------------------------
* 05/14/2013 #989 qzhou Initial Creation
* 03/18/2014 #1123 qzhou Add getHQdcOrDQdc
* 06/23/2014 R4152 qzhou Touched up functions that do not affect the results
* </pre>
*
* @author qzhou
@ -162,27 +163,27 @@ public class CalcEach3hr {
for (int j = 0; j < DAYS; j++) {
double sum = 0;
int missing = 0;
int count = 0;
int endOfArray = simpHrAvgH.length;
int endTime = (endOfArray > j * HOURS + HOURS) ? j * HOURS + HOURS
: endOfArray;
for (int i = 0; i < 23; i++) {
int ii = j * HOURS + i;
for (int i = j * HOURS; i < endTime - 1; i++) {
if (simpHrAvgH[i] != MISSING_VAL
&& simpHrAvgD[i] != MISSING_VAL
&& simpHrAvgH[i + 1] != MISSING_VAL
&& simpHrAvgD[i + 1] != MISSING_VAL) {
sum += Math.sqrt(Math.pow(
(simpHrAvgH[i + 1] - simpHrAvgH[i]), 2)
+ Math.pow((simpHrAvgD[i + 1] - simpHrAvgD[i]), 2));
} else
missing++;
if (simpHrAvgH[ii] != MISSING_VAL
&& simpHrAvgD[ii] != MISSING_VAL
&& simpHrAvgH[ii + 1] != MISSING_VAL
&& simpHrAvgD[ii + 1] != MISSING_VAL) {
sum += Math
.sqrt(Math.pow(
(simpHrAvgH[ii + 1] - simpHrAvgH[ii]), 2)
+ Math.pow(
(simpHrAvgD[ii + 1] - simpHrAvgD[ii]),
2));
count++;
}
}
if (missing <= 12) // not 12 or more missing
dB[j] = (float) sum / (HOURS - 1 - missing);
if (count >= 12) // not 12 or more missing
dB[j] = (float) sum / count;
else
dB[j] = MISSING_VAL;
@ -281,7 +282,7 @@ public class CalcEach3hr {
if (dB[jk] < 1)
wk = 1;
else
wk = 1 / (dB[jk] * dB[jk]);
wk = 1.0f / (dB[jk] * dB[jk]);
if (smallHrAvg[ind] != MISSING_VAL) {
sumAvg += wk * smallHrAvg[ind];

View file

@ -17,7 +17,7 @@ import java.util.Map;
* <pre>
* SOFTWARE HISTORY
*
* ate Ticket# Engineer Description
* Date Ticket# Engineer Description
* ----------- ---------- ---------- --------------------------
* 05/14/2013 #989 qzhou Initial Creation
* 03/18/2014 #1123 qzhou default k to 99999

View file

@ -19,9 +19,11 @@ import java.util.Map;
* <pre>
* SOFTWARE HISTORY
*
* ate Ticket# Engineer Description
* Date Ticket# Engineer Description
* ----------- ---------- ---------- --------------------------
* 05/14/2013 #989 qzhou Initial Creation
* 06/23/2014 R4152 qzhou Touched up 3 functions
* 07/22/2014 R4152 qzhou Fixed getMedian. This func. is uesd very rare if ever
* </pre>
*
* @author qzhou
@ -181,7 +183,7 @@ public class CalcUtil {
int[] kLimit = new int[10];
int k9Limit = getK9Limit(station);
for (int i = 0; i < kLimit.length; i++) {
kLimit[i] = Math.round(k9Limit * getKConst(i) / 500);
kLimit[i] = Math.round(k9Limit * getKConst(i) / 500.0f);
}
return kLimit;
}
@ -219,11 +221,11 @@ public class CalcUtil {
return kIndex;
}
public static int getGammaFromK(String station, int kIndex) {
int gamma = getK9Limit(station) * getKConst(kIndex) / 500;
return gamma;
}
// public static int getGammaFromK(String station, int kIndex) {
// int gamma = getK9Limit(station) * getKConst(kIndex) / 500;
//
// return gamma;
// }
// assume db time format yyyy-mm-dd hh:mm:ss
public static Date getSPTime(Date currTime) {
@ -414,11 +416,11 @@ public class CalcUtil {
public static boolean isLeapYear(int year) {
boolean isLeap;
if (year / 400 == 0)
if (year % 400 == 0)
isLeap = true;
else if (year / 100 == 0)
else if (year % 100 == 0)
isLeap = false;
else if (year / 4 == 0)
else if (year % 4 == 0)
isLeap = true;
else
isLeap = false;
@ -533,18 +535,18 @@ public class CalcUtil {
// remove missing data
List<Float> newArray = new ArrayList<Float>();
for (int k = 0; k < arraySort.length - 1; k++)
for (int k = 0; k < arraySort.length; k++) {
if (arraySort[k] != MISSING_VAL)
newArray.add(arraySort[k]);
else
break; // to sorted arraySort
}
int size = newArray.size();
if (size / 2 == 0)
if (size % 2 == 0)
median = (newArray.get(size / 2) + newArray.get(size / 2 - 1)) / 2;
else
median = newArray.get((size - 1) / 2);
return median;
}
}

View file

@ -32,6 +32,7 @@ import com.raytheon.uf.edex.database.query.DatabaseQuery;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* 2014/02/12 #1123 qzhou Moved from edex to here
* 2014/06/27 #1136 qzhou Change hour avg to 0-current time
*
* </pre>
*
@ -63,10 +64,11 @@ public class DatabaseUtil {
QueryParam.QueryOperand.LESSTHANEQUALS);
Calendar cal = Calendar.getInstance();
cal.setTime(time);
cal.add(Calendar.HOUR_OF_DAY, -1);
cal.set(Calendar.MINUTE, 0);
// cal.add(Calendar.HOUR_OF_DAY, -1);
query.addQueryParam("dataTime.refTime", cal.getTime(),
QueryParam.QueryOperand.GREATERTHAN);
QueryParam.QueryOperand.GREATERTHANEQUALS);
query.addQueryParam("stationCode", station);
List<?> resultsList = null;

View file

@ -0,0 +1,59 @@
package gov.noaa.nws.ncep.common.dataplugin.geomag.request;
import java.util.Date;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
import com.raytheon.uf.common.serialization.comm.IServerRequest;
/**
*
* Request for a GeoMagk1min for the given dataURI
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* 2014/07/01 #1136 qzhou Init
*
* </pre>
*
* @author qzhou
* @version 1.0
*/
@DynamicSerialize
public class RetrieveSingleK1minRequest implements IServerRequest {
@DynamicSerializeElement
private String stationCode;
@DynamicSerializeElement
private Date refTime;
public RetrieveSingleK1minRequest() {
}
public RetrieveSingleK1minRequest(String stationCode, Date refTime) {
super();
this.stationCode = stationCode;
this.refTime = refTime;
}
public String getStationCode() {
return stationCode;
}
public void setStationCode(String stationCode) {
this.stationCode = stationCode;
}
public Date getRefTime() {
return refTime;
}
public void setRefTime(Date refTime) {
this.refTime = refTime;
}
}

View file

@ -16,7 +16,7 @@
* remove xml serialization as well *
* 10/2011 S. Gurung Added changes related to getting stid/lat/lon/elev
* from database instead of snstns.xml file
*
* 6/2014 T.Lee Added support XXAA, XXBB, XXCC, XXDD
* </pre>
*
* This code has been developed by the SIB for use in the AWIPS2 system.
@ -26,6 +26,12 @@
package gov.noaa.nws.ncep.common.dataplugin.ncuair.dao;
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairLiftedIndex;
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairMaxWind;
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairObsLevels;
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairRecord;
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairTropopause;
import java.io.File;
import java.util.HashMap;
import java.util.Iterator;
@ -37,109 +43,213 @@ import com.raytheon.uf.common.pointdata.PointDataContainer;
import com.raytheon.uf.common.pointdata.PointDataDescription;
import com.raytheon.uf.common.pointdata.PointDataView;
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairLiftedIndex;
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairMaxWind;
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairObsLevels;
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairTropopause;
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairRecord;
public class NcUairToPointData {
private static final String RAW_DATA = "RAWDATA";
private static final String UTC = "UTC";
private static final String REPORT_TYPE = "REPORTTYPE";
private static final String STATION_ID = "STATIONID";
private static final String ISSUE_TIME = "ISSUETIME";
private static final String OBS_TIME = "OBSTIME";
private static final String SYNOPTIC_TIME = "SYNOPTIME";
private static final String DATAURI = "DATAURI";
private static final String DATA_TYPE = "DATATYPE";
private static final String CORRECTION_INDICATOR = "CORR";
private static final String WMO_HEADER = "WMOHEADER";
private static final String STATION_NUMBER = "STNUM";
private static final String LATITUDE = "LATITUDE";
private static final String LONGITUDE = "LONGITUDE";
private static final String ELEVATION = "ELEVATION";
private static final String NIL = "NIL";
private static final String TTAA_PRES = "TTAA_PRES";
private static final String TTAA_TEMP = "TTAA_TEMP";
private static final String TTAA_DWPT = "TTAA_DWPT";
private static final String TTAA_DRCT = "TTAA_DRCT";
private static final String TTAA_SPED = "TTAA_SPED";
private static final String TTAA_HGHT = "TTAA_HGHT";
private static final String TTBB_PRES = "TTBB_PRES";
private static final String TTBB_TEMP = "TTBB_TEMP";
private static final String TTBB_DWPT = "TTBB_DWPT";
private static final String TTCC_PRES = "TTCC_PRES";
private static final String TTCC_TEMP = "TTCC_TEMP";
private static final String TTCC_DWPT = "TTCC_DWPT";
private static final String TTCC_DRCT = "TTCC_DRCT";
private static final String TTCC_SPED = "TTCC_SPED";
private static final String TTCC_HGHT = "TTCC_HGHT";
private static final String TTDD_PRES = "TTDD_PRES";
private static final String TTDD_TEMP = "TTDD_TEMP";
private static final String TTDD_DWPT = "TTDD_DWPT";
private static final String PPAA_PRES = "PPAA_PRES";
private static final String PPAA_TEMP = "PPAA_TEMP";
private static final String PPAA_DWPT = "PPAA_DWPT";
private static final String PPAA_DRCT = "PPAA_DRCT";
private static final String PPAA_SPED = "PPAA_SPED";
private static final String PPAA_HGHT = "PPAA_HGHT";
private static final String PPBB_DRCT = "PPBB_DRCT";
private static final String PPBB_SPED = "PPBB_SPED";
private static final String PPBB_HGHT = "PPBB_HGHT";
private static final String PPCC_PRES = "PPCC_PRES";
private static final String PPCC_TEMP = "PPCC_TEMP";
private static final String PPCC_DWPT = "PPCC_DWPT";
private static final String PPCC_DRCT = "PPCC_DRCT";
private static final String PPCC_SPED = "PPCC_SPED";
private static final String PPCC_HGHT = "PPCC_HGHT";
private static final String PPDD_DRCT = "PPDD_DRCT";
private static final String PPDD_SPED = "PPDD_SPED";
private static final String PPDD_HGHT = "PPDD_HGHT";
private static final String TROP_PRES = "TROP_PRES";
private static final String TROP_TEMP = "TROP_TEMP";
private static final String TROP_DWPT = "TROP_DWPT";
private static final String TROP_DRCT = "TROP_DRCT";
private static final String TROP_SPED = "TROP_SPED";
private static final String WMAX_PRES = "WMAX_PRES";
private static final String WMAX_DRCT = "WMAX_DRCT";
private static final String WMAX_SPED = "WMAX_SPED";
private static final String WMAX_LO_SHEAR = "WMAX_LO_SHEAR";
private static final String WMAX_HI_SHEAR = "WMAX_HI_SHEAR";
private static final String TTAA_LIFT = "TTAA_LIFT";
private static final String TTAA_LO_MEAN_DRCT = "TTAA_LO_MEAN_DRCT";
private static final String TTAA_LO_MEAN_SPED = "TTAA_LO_MEAN_SPED";
private static final String TTAA_HI_MEAN_DRCT = "TTAA_HI_MEAN_DRCT";
private static final String TTAA_HI_MEAN_SPED = "TTAA_HI_MEAN_SPED";
private static final String TTBB_LIFT = "TTBB_LIFT";
private static final String TTBB_LO_MEAN_DRCT = "TTBB_LO_MEAN_DRCT";
private static final String TTBB_LO_MEAN_SPED = "TTBB_LO_MEAN_SPED";
private static final String TTBB_HI_MEAN_DRCT = "TTBB_HI_MEAN_DRCT";
private static final String TTBB_HI_MEAN_SPED = "TTBB_HI_MEAN_SPED";
private enum REPORTTYPE {TTAA, TTBB, TTCC, TTDD, PPAA, PPBB, PPCC, PPDD,
UUAA, UUBB, UUCC, UUDD, XXAA, XXBB, XXCC, XXDD};
private static final String XXAA_PRES = "XXAA_PRES";
private static final String XXAA_TEMP = "XXAA_TEMP";
private static final String XXAA_DWPT = "XXAA_DWPT";
private static final String XXAA_DRCT = "XXAA_DRCT";
private static final String XXAA_SPED = "XXAA_SPED";
private static final String XXAA_HGHT = "XXAA_HGHT";
private static final String XXBB_PRES = "XXBB_PRES";
private static final String XXBB_TEMP = "XXBB_TEMP";
private static final String XXBB_DWPT = "XXBB_DWPT";
private static final String XXCC_PRES = "XXCC_PRES";
private static final String XXCC_TEMP = "XXCC_TEMP";
private static final String XXCC_DWPT = "XXCC_DWPT";
private static final String XXCC_DRCT = "XXCC_DRCT";
private static final String XXCC_SPED = "XXCC_SPED";
private static final String XXCC_HGHT = "XXCC_HGHT";
private static final String XXDD_PRES = "XXDD_PRES";
private static final String XXDD_TEMP = "XXDD_TEMP";
private static final String XXDD_DWPT = "XXDD_DWPT";
private enum REPORTTYPE {
TTAA, TTBB, TTCC, TTDD, PPAA, PPBB, PPCC, PPDD, UUAA, UUBB, UUCC, UUDD, XXAA, XXBB, XXCC, XXDD
};
/**
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! It is important to
* keep this up to date or risk breaking backwards compatibility
* uu
* keep this up to date or risk breaking backwards compatibility uu
*/
private static final String[] ALL_PARAMS = { RAW_DATA, UTC, REPORT_TYPE, STATION_ID,
ISSUE_TIME, OBS_TIME, SYNOPTIC_TIME, DATAURI, DATA_TYPE, CORRECTION_INDICATOR,
WMO_HEADER, STATION_NUMBER, LATITUDE, LONGITUDE, ELEVATION, NIL,
TTAA_PRES, TTAA_TEMP, TTAA_DWPT, TTAA_DRCT, TTAA_SPED, TTAA_HGHT,
TTBB_PRES, TTBB_TEMP, TTBB_DWPT,
TTCC_PRES, TTCC_TEMP, TTCC_DWPT, TTCC_DRCT, TTCC_SPED, TTCC_HGHT,
TTDD_PRES, TTDD_TEMP, TTDD_DWPT,
PPAA_PRES, PPAA_TEMP, PPAA_DWPT, PPAA_DRCT, PPAA_SPED, PPAA_HGHT,
PPBB_DRCT, PPBB_SPED, PPBB_HGHT,
PPCC_PRES, PPCC_TEMP, PPCC_DWPT, PPCC_DRCT, PPCC_SPED, PPCC_HGHT,
PPDD_DRCT, PPDD_SPED, PPDD_HGHT,
TROP_PRES, TROP_TEMP, TROP_DWPT, TROP_DRCT, TROP_SPED, WMAX_PRES,
WMAX_DRCT, WMAX_SPED, WMAX_LO_SHEAR, WMAX_HI_SHEAR,
TTAA_LIFT, TTAA_LO_MEAN_DRCT, TTAA_LO_MEAN_SPED, TTAA_HI_MEAN_DRCT, TTAA_HI_MEAN_SPED,
TTBB_LIFT, TTBB_LO_MEAN_DRCT, TTBB_LO_MEAN_SPED, TTBB_HI_MEAN_DRCT, TTAA_HI_MEAN_SPED,};
private static final String[] ALL_PARAMS = { RAW_DATA, UTC, REPORT_TYPE,
STATION_ID, ISSUE_TIME, OBS_TIME, SYNOPTIC_TIME, DATAURI,
DATA_TYPE, CORRECTION_INDICATOR, WMO_HEADER, STATION_NUMBER,
LATITUDE, LONGITUDE, ELEVATION, NIL, TTAA_PRES, TTAA_TEMP,
TTAA_DWPT, TTAA_DRCT, TTAA_SPED, TTAA_HGHT, TTBB_PRES, TTBB_TEMP,
TTBB_DWPT, TTCC_PRES, TTCC_TEMP, TTCC_DWPT, TTCC_DRCT, TTCC_SPED,
TTCC_HGHT, TTDD_PRES, TTDD_TEMP, TTDD_DWPT, PPAA_PRES, PPAA_TEMP,
PPAA_DWPT, PPAA_DRCT, PPAA_SPED, PPAA_HGHT, PPBB_DRCT, PPBB_SPED,
PPBB_HGHT, PPCC_PRES, PPCC_TEMP, PPCC_DWPT, PPCC_DRCT, PPCC_SPED,
PPCC_HGHT, PPDD_DRCT, PPDD_SPED, PPDD_HGHT, TROP_PRES, TROP_TEMP,
TROP_DWPT, TROP_DRCT, TROP_SPED, WMAX_PRES, WMAX_DRCT, WMAX_SPED,
WMAX_LO_SHEAR, WMAX_HI_SHEAR, TTAA_LIFT, TTAA_LO_MEAN_DRCT,
TTAA_LO_MEAN_SPED, TTAA_HI_MEAN_DRCT, TTAA_HI_MEAN_SPED, TTBB_LIFT,
TTBB_LO_MEAN_DRCT, TTBB_LO_MEAN_SPED, TTBB_HI_MEAN_DRCT,
TTAA_HI_MEAN_SPED, XXAA_PRES, XXAA_TEMP, XXAA_DWPT, XXAA_DRCT,
XXAA_SPED, XXAA_HGHT, XXBB_PRES, XXBB_TEMP, XXBB_DWPT, XXCC_PRES,
XXCC_TEMP, XXCC_DWPT, XXCC_DRCT, XXCC_SPED, XXCC_HGHT, XXDD_PRES,
XXDD_TEMP, XXDD_DWPT };
public static final String ALL_PARAMS_LIST;
static {
@ -172,7 +282,8 @@ public class NcUairToPointData {
public PluginDataObject[] toPointData(PluginDataObject[] pdo) {
// long curTime = System.currentTimeMillis();
//System.out.println("H5 uair toPointData entered, pdo size = "+ pdo.length);
// System.out.println("H5 uair toPointData entered, pdo size = "+
// pdo.length);
if (pdo.length > 0) {
Map<File, PointDataContainer> pointMap = new HashMap<File, PointDataContainer>();
@ -254,7 +365,8 @@ public class NcUairToPointData {
if (record.getObsTime() != null)
pdv.setLong(OBS_TIME, record.getObsTime().getTime().getTime());
if (record.getSynopticTime() != null)
pdv.setLong(SYNOPTIC_TIME, record.getSynopticTime().getTime().getTime());
pdv.setLong(SYNOPTIC_TIME, record.getSynopticTime().getTime()
.getTime());
if (record.getIssueTime() != null)
pdv.setLong(ISSUE_TIME, record.getIssueTime().getTime().getTime());
pdv.setString(DATAURI, record.getDataURI());
@ -274,7 +386,7 @@ public class NcUairToPointData {
case TTAA:
case UUAA:
case XXAA:
index = 0;
if (sls != null) {
while (sls.hasNext()) {
@ -292,11 +404,30 @@ public class NcUairToPointData {
pdv.setInt("numTTAA", index);
}
break;
case XXAA:
index = 0;
if (sls != null) {
while (sls.hasNext()) {
NcUairObsLevels sl = sls.next();
if (sl.getPres() > 0 && index < maxManLevel) {
pdv.setFloat(XXAA_PRES, sl.getPres(), index);
pdv.setFloat(XXAA_HGHT, sl.getHght(), index);
pdv.setFloat(XXAA_TEMP, sl.getTemp(), index);
pdv.setFloat(XXAA_DWPT, sl.getDwpt(), index);
pdv.setFloat(XXAA_DRCT, sl.getDrct(), index);
pdv.setFloat(XXAA_SPED, sl.getSped(), index);
index++;
}
}
pdv.setInt("numXXAA", index);
}
break;
case TTBB:
case UUBB:
case XXBB:
index = 0;
if (sls != null) {
while (sls.hasNext()) {
@ -311,10 +442,25 @@ public class NcUairToPointData {
pdv.setInt("numTTBB", index);
}
break;
case XXBB:
index = 0;
if (sls != null) {
while (sls.hasNext()) {
NcUairObsLevels sl = sls.next();
if (sl.getPres() > 0 && index < maxSigTempLevel) {
pdv.setFloat(XXBB_PRES, sl.getPres(), index);
pdv.setFloat(XXBB_TEMP, sl.getTemp(), index);
pdv.setFloat(XXBB_DWPT, sl.getDwpt(), index);
index++;
}
}
pdv.setInt("numXXBB", index);
}
break;
case TTCC:
case UUCC:
case XXCC:
index = 0;
if (sls != null) {
while (sls.hasNext()) {
@ -333,10 +479,29 @@ public class NcUairToPointData {
pdv.setInt("numTTCC", index);
}
break;
case XXCC:
index = 0;
if (sls != null) {
while (sls.hasNext()) {
NcUairObsLevels sl = sls.next();
if (sl.getPres() > 0 && index < maxManLevel) {
pdv.setFloat(XXCC_PRES, sl.getPres(), index);
pdv.setFloat(XXCC_HGHT, sl.getHght(), index);
pdv.setFloat(XXCC_TEMP, sl.getTemp(), index);
pdv.setFloat(XXCC_DWPT, sl.getDwpt(), index);
pdv.setFloat(XXCC_DRCT, sl.getDrct(), index);
pdv.setFloat(XXCC_SPED, sl.getSped(), index);
index++;
}
}
pdv.setInt("numXXCC", index);
}
break;
case TTDD:
case UUDD:
case XXDD:
index = 0;
if (sls != null) {
while (sls.hasNext()) {
@ -351,6 +516,21 @@ public class NcUairToPointData {
pdv.setInt("numTTDD", index);
}
break;
case XXDD:
index = 0;
if (sls != null) {
while (sls.hasNext()) {
NcUairObsLevels sl = sls.next();
if (sl.getPres() > 0 && index < maxSigTempLevel) {
pdv.setFloat(XXDD_PRES, sl.getPres(), index);
pdv.setFloat(XXDD_TEMP, sl.getTemp(), index);
pdv.setFloat(XXDD_DWPT, sl.getDwpt(), index);
index++;
}
}
pdv.setInt("numXXDD", index);
}
break;
case PPAA:
index = 0;
@ -391,7 +571,8 @@ public class NcUairToPointData {
if (sls != null) {
while (sls.hasNext()) {
NcUairObsLevels sl = sls.next();
if ( (sl.getPres() > 0 || sl.getHght() > 0 ) && index < maxManLevel ) {
if ((sl.getPres() > 0 || sl.getHght() > 0)
&& index < maxManLevel) {
pdv.setFloat(PPCC_PRES, sl.getPres(), index);
pdv.setFloat(PPCC_HGHT, sl.getHght(), index);
pdv.setFloat(PPCC_TEMP, sl.getTemp(), index);
@ -424,9 +605,9 @@ public class NcUairToPointData {
}
}
if (record.getTropopause() != null) {
Iterator<NcUairTropopause> trops = record.getTropopause().iterator();
Iterator<NcUairTropopause> trops = record.getTropopause()
.iterator();
index = 0;
if (trops != null) {
while (trops.hasNext()) {
@ -464,7 +645,8 @@ public class NcUairToPointData {
}
if (record.getLiftedIndex() != null) {
Iterator<NcUairLiftedIndex> miscs = record.getLiftedIndex().iterator();
Iterator<NcUairLiftedIndex> miscs = record.getLiftedIndex()
.iterator();
index = 0;
if (miscs != null) {
while (miscs.hasNext()) {
@ -472,16 +654,24 @@ public class NcUairToPointData {
if (index < maxMiscLevel) {
if (record.getDataType().equals("TTAA")) {
pdv.setFloat(TTAA_LIFT, misc.getLiTemp(), index);
pdv.setFloat(TTAA_LO_MEAN_DRCT, misc.getLoDrct(), index);
pdv.setFloat(TTAA_LO_MEAN_SPED, misc.getLoSped(), index);
pdv.setFloat(TTAA_HI_MEAN_DRCT, misc.getHiDrct(), index);
pdv.setFloat(TTAA_HI_MEAN_SPED, misc.getHiSped(), index);
pdv.setFloat(TTAA_LO_MEAN_DRCT, misc.getLoDrct(),
index);
pdv.setFloat(TTAA_LO_MEAN_SPED, misc.getLoSped(),
index);
pdv.setFloat(TTAA_HI_MEAN_DRCT, misc.getHiDrct(),
index);
pdv.setFloat(TTAA_HI_MEAN_SPED, misc.getHiSped(),
index);
} else {
pdv.setFloat(TTBB_LIFT, misc.getLiTemp(), index);
pdv.setFloat(TTBB_LO_MEAN_DRCT, misc.getLoDrct(), index);
pdv.setFloat(TTBB_LO_MEAN_SPED, misc.getLoSped(), index);
pdv.setFloat(TTBB_HI_MEAN_DRCT, misc.getHiDrct(), index);
pdv.setFloat(TTBB_HI_MEAN_SPED, misc.getHiSped(), index);
pdv.setFloat(TTBB_LO_MEAN_DRCT, misc.getLoDrct(),
index);
pdv.setFloat(TTBB_LO_MEAN_SPED, misc.getLoSped(),
index);
pdv.setFloat(TTBB_HI_MEAN_DRCT, misc.getHiDrct(),
index);
pdv.setFloat(TTBB_HI_MEAN_SPED, misc.getHiSped(),
index);
}
index++;
}

View file

@ -14,7 +14,7 @@
* 09/2011 457 S. Gurung Renamed H5 to Nc and h5 to nc
* 10/2011 S. Gurung Added changes related to getting stid/lat/lon/elev
* from database instead of snstns.xml file
*
* 6/2014 T.Lee Added support XXAA, XXBB, XXCC, XXDD
* </pre>
*
* This code has been developed by the SIB for use in the AWIPS2 system.
@ -24,6 +24,12 @@
package gov.noaa.nws.ncep.common.dataplugin.ncuair.dao;
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairLiftedIndex;
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairMaxWind;
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairObsLevels;
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairRecord;
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairTropopause;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
@ -36,16 +42,11 @@ import com.raytheon.uf.common.pointdata.PointDataView;
import com.raytheon.uf.common.pointdata.spatial.SurfaceObsLocation;
import com.raytheon.uf.edex.decodertools.time.TimeTools;
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairLiftedIndex;
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairMaxWind;
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairObsLevels;
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairTropopause;
import gov.noaa.nws.ncep.common.dataplugin.ncuair.NcUairRecord;
public class NcUairToRecord {
/** The logger */
private static Log logger = LogFactory.getLog(NcUairToRecord.class);
public static final String HDR_PARAMS_LIST;
static {
StringBuffer sb = new StringBuffer();
@ -149,10 +150,36 @@ public class NcUairToRecord {
sb.append("TTBB_LO_MEAN_DRCT,");
sb.append("TTBB_LO_MEAN_SPED,");
sb.append("TTBB_HI_MEAN_DRCT,");
sb.append("TTBB_HI_MEAN_SPED");
sb.append("TTBB_HI_MEAN_SPED,");
// -------------------------
sb.append("numXXAA,");
sb.append("XXAA_PRES,");
sb.append("XXAA_TEMP,");
sb.append("XXAA_DWPT,");
sb.append("XXAA_DRCT,");
sb.append("XXAA_SPED,");
sb.append("XXAA_HGHT,");
// -------------------------
sb.append("numXXBB,");
sb.append("XXBB_PRES,");
sb.append("XXBB_TEMP,");
sb.append("XXBB_DWPT,");
// --------------------------
sb.append("numXXCC,");
sb.append("XXCC_PRES,");
sb.append("XXCC_TEMP,");
sb.append("XXCC_DWPT,");
sb.append("XXCC_DRCT,");
sb.append("XXCC_SPED,");
sb.append("XXCC_HGHT,");
// -------------------------
sb.append("numXXDD,");
sb.append("XXDD_PRES,");
sb.append("XXDD_TEMP,");
sb.append("XXDD_DWPT");
MAN_PARAMS_LIST = sb.toString();
}
// static int count=0;
private static NcUairRecord getNcUairRecord(PointDataView pdv) {
NcUairRecord record = null;
@ -166,8 +193,7 @@ public class NcUairToRecord {
String uri = pdv.getString("DATAURI");
logger.debug("URI = " + uri);
record = new NcUairRecord(uri);
}
else{
} else {
// System.out.println("no data uri");
record = new NcUairRecord();
}
@ -210,6 +236,7 @@ public class NcUairToRecord {
}
return record;
}
private static NcUairRecord getTTAA(PointDataView pdv, NcUairRecord record) {
NcUairObsLevels obslevels;
@ -429,6 +456,7 @@ public class NcUairToRecord {
}
return record;
}
/**
* @param pdv
* @param record
@ -495,6 +523,7 @@ public class NcUairToRecord {
}
return record;
}
/**
* @param pdv
* @param record
@ -529,6 +558,7 @@ public class NcUairToRecord {
}
return record;
}
private static NcUairRecord getTTDD(PointDataView pdv, NcUairRecord record) {
if (record != null) {
Set<String> parameters = pdv.getContainer().getParameters();
@ -566,7 +596,6 @@ public class NcUairToRecord {
temp = pdv.getNumberAllLevels("TTBB_TEMP");
dwpt = pdv.getNumberAllLevels("TTBB_DWPT");
for (int i = 0; i < numTTBB.intValue(); i++) {
NcUairObsLevels obslevels = new NcUairObsLevels();
obslevels.setPres(pres[i].floatValue());
@ -606,12 +635,238 @@ public class NcUairToRecord {
return record;
}
private static NcUairRecord getXXAA(PointDataView pdv, NcUairRecord record) {
NcUairObsLevels obslevels;
// System.out.println(" GetXXAA !!!!!!!");
/*
* Add XXAA data
*/
if (record != null) {
Set<String> parameters = pdv.getContainer().getParameters();
// for (String pam : parameters)
// System.out.println("parm=" + pam);
Number[] pres, hght, temp, dwpt, drct, sped;
if (parameters.contains("numXXAA")) {
Number numXXAA = pdv.getInt("numXXAA");
if (numXXAA != null) {
// System.out.println("numXXAA=" + numXXAA);
pres = pdv.getNumberAllLevels("XXAA_PRES");
hght = pdv.getNumberAllLevels("XXAA_HGHT");
temp = pdv.getNumberAllLevels("XXAA_TEMP");
dwpt = pdv.getNumberAllLevels("XXAA_DWPT");
drct = pdv.getNumberAllLevels("XXAA_DRCT");
sped = pdv.getNumberAllLevels("XXAA_SPED");
for (int i = 0; i < numXXAA.intValue(); i++) {
obslevels = new NcUairObsLevels();
obslevels.setPres(pres[i].floatValue());
obslevels.setHght(hght[i].floatValue());
obslevels.setTemp(temp[i].floatValue());
obslevels.setDwpt(dwpt[i].floatValue());
obslevels.setDrct(drct[i].floatValue());
obslevels.setSped(sped[i].floatValue());
// System.out.println("level pres=" +
// obslevels.getPres());
record.addObsLevels(obslevels);
}
}
}
/*
* Add tropopause data
*/
if (parameters.contains("numTrop")) {
Number numTrop = pdv.getInt("numTrop");
if (numTrop != null) {
// System.out.println("numTropA="+numTrop);
pres = pdv.getNumberAllLevels("TROP_PRES");
temp = pdv.getNumberAllLevels("TROP_TEMP");
dwpt = pdv.getNumberAllLevels("TROP_DWPT");
drct = pdv.getNumberAllLevels("TROP_DRCT");
sped = pdv.getNumberAllLevels("TROP_SPED");
for (int i = 0; i < numTrop.intValue(); i++) {
NcUairTropopause trop = new NcUairTropopause();
trop.setPres(pres[i].floatValue());
trop.setTemp(temp[i].floatValue());
trop.setDwpt(dwpt[i].floatValue());
trop.setDrct(drct[i].floatValue());
trop.setSped(sped[i].floatValue());
record.addTropopause(trop);
}
}
}
/*
* Add max wind data
*/
if (parameters.contains("numWmax")) {
Number numWmax = pdv.getInt("numWmax");
if (numWmax != null) {
// System.out.println("numWmaxA="+numWmax);
Number[] lo_shear = pdv.getNumberAllLevels("WMAX_LO_SHEAR");
Number[] hi_shear = pdv.getNumberAllLevels("WMAX_HI_SHEAR");
pres = pdv.getNumberAllLevels("WMAX_PRES");
drct = pdv.getNumberAllLevels("WMAX_DRCT");
sped = pdv.getNumberAllLevels("WMAX_SPED");
for (int i = 0; i < numWmax.intValue(); i++) {
NcUairMaxWind wmax = new NcUairMaxWind();
wmax.setPres(pres[i].floatValue());
wmax.setDrct(drct[i].floatValue());
wmax.setSped(sped[i].floatValue());
wmax.setHiShear(hi_shear[i].floatValue());
wmax.setLoShear(lo_shear[i].floatValue());
record.addMaxWind(wmax);
}
}
}
}
if (record == null) {
System.out.println(" NcUairToRecord/ record is null!!!!!!!");
}
return record;
}
private static NcUairRecord getXXCC(PointDataView pdv, NcUairRecord record) {
if (record != null) {
Set<String> parameters = pdv.getContainer().getParameters();
Number[] pres, hght, temp, dwpt, drct, sped;
if (parameters.contains("numXXCC")) {
Number numXXCC = pdv.getInt("numXXCC");
if (numXXCC != null) {
// System.out.println("numXXCC="+numXXCC);
NcUairObsLevels obslevels;
pres = pdv.getNumberAllLevels("XXCC_PRES");
hght = pdv.getNumberAllLevels("XXCC_HGHT");
temp = pdv.getNumberAllLevels("XXCC_TEMP");
dwpt = pdv.getNumberAllLevels("XXCC_DWPT");
drct = pdv.getNumberAllLevels("XXCC_DRCT");
sped = pdv.getNumberAllLevels("XXCC_SPED");
for (int i = 0; i < numXXCC.intValue(); i++) {
obslevels = new NcUairObsLevels();
obslevels.setPres(pres[i].floatValue());
obslevels.setHght(hght[i].floatValue());
obslevels.setTemp(temp[i].floatValue());
obslevels.setDwpt(dwpt[i].floatValue());
obslevels.setDrct(drct[i].floatValue());
obslevels.setSped(sped[i].floatValue());
record.addObsLevels(obslevels);
}
}
}
/*
* Add tropopause data
*/
if (parameters.contains("numTrop")) {
Number numTrop = pdv.getInt("numTrop");
if (numTrop != null) {
// System.out.println("numTropC="+numTrop);
pres = pdv.getNumberAllLevels("TROP_PRES");
temp = pdv.getNumberAllLevels("TROP_TEMP");
dwpt = pdv.getNumberAllLevels("TROP_DWPT");
drct = pdv.getNumberAllLevels("TROP_DRCT");
sped = pdv.getNumberAllLevels("TROP_SPED");
for (int i = 0; i < numTrop.intValue(); i++) {
NcUairTropopause trop = new NcUairTropopause();
trop.setPres(pres[i].floatValue());
trop.setTemp(temp[i].floatValue());
trop.setDwpt(dwpt[i].floatValue());
trop.setDrct(drct[i].floatValue());
trop.setSped(sped[i].floatValue());
record.addTropopause(trop);
}
}
}
/*
* Add max wind data
*/
if (parameters.contains("numWmax")) {
Number numWmax = pdv.getInt("numWmax");
if (numWmax != null) {
// System.out.println("numWmaxC="+numWmax);
Number[] lo_shear = pdv.getNumberAllLevels("WMAX_LO_SHEAR");
Number[] hi_shear = pdv.getNumberAllLevels("WMAX_HI_SHEAR");
pres = pdv.getNumberAllLevels("WMAX_PRES");
drct = pdv.getNumberAllLevels("WMAX_DRCT");
sped = pdv.getNumberAllLevels("WMAX_SPED");
for (int i = 0; i < numWmax.intValue(); i++) {
NcUairMaxWind wmax = new NcUairMaxWind();
wmax.setPres(pres[i].floatValue());
wmax.setDrct(drct[i].floatValue());
wmax.setSped(sped[i].floatValue());
wmax.setHiShear(hi_shear[i].floatValue());
wmax.setLoShear(lo_shear[i].floatValue());
record.addMaxWind(wmax);
}
}
}
}
return record;
}
private static NcUairRecord getXXBB(PointDataView pdv, NcUairRecord record) {
if (record != null) {
Set<String> parameters = pdv.getContainer().getParameters();
if (parameters.contains("numXXBB")) {
Number numXXBB = pdv.getInt("numXXBB");
if (numXXBB != null) {
// System.out.println("numXXBB="+numXXBB);
Number[] pres, temp, dwpt;
pres = pdv.getNumberAllLevels("XXBB_PRES");
temp = pdv.getNumberAllLevels("XXBB_TEMP");
dwpt = pdv.getNumberAllLevels("XXBB_DWPT");
for (int i = 0; i < numXXBB.intValue(); i++) {
NcUairObsLevels obslevels = new NcUairObsLevels();
obslevels.setPres(pres[i].floatValue());
obslevels.setTemp(temp[i].floatValue());
obslevels.setDwpt(dwpt[i].floatValue());
record.addObsLevels(obslevels);
}
}
}
}
return record;
}
private static NcUairRecord getXXDD(PointDataView pdv, NcUairRecord record) {
if (record != null) {
Set<String> parameters = pdv.getContainer().getParameters();
if (parameters.contains("numXXDD")) {
Number numXXDD = pdv.getInt("numXXDD");
if (numXXDD != null) {
Number[] pres, temp, dwpt;
// System.out.println("numXXDD="+numXXDD);
pres = pdv.getNumberAllLevels("XXDD_PRES");
temp = pdv.getNumberAllLevels("XXDD_TEMP");
dwpt = pdv.getNumberAllLevels("XXDD_DWPT");
for (int i = 0; i < numXXDD.intValue(); i++) {
NcUairObsLevels obslevels = new NcUairObsLevels();
obslevels.setPres(pres[i].floatValue());
obslevels.setTemp(temp[i].floatValue());
obslevels.setDwpt(dwpt[i].floatValue());
record.addObsLevels(obslevels);
}
}
}
}
return record;
}
/**
* @param container
* @return
*/
private enum DATATYPE {TTAA, TTBB, TTCC, TTDD, PPAA, PPBB, PPCC, PPDD, XXAA, XXBB, XXCC, XXDD, UUAA, UUBB, UUCC, UUDD};
private enum DATATYPE {
TTAA, TTBB, TTCC, TTDD, PPAA, PPBB, PPCC, PPDD, XXAA, XXBB, XXCC, XXDD, UUAA, UUBB, UUCC, UUDD
};
public static NcUairRecord[] toNcUairRecords(PointDataContainer container) {
List<NcUairRecord> records = new ArrayList<NcUairRecord>();
container.setCurrentSz(container.getAllocatedSz());
@ -644,6 +899,18 @@ public class NcUairToRecord {
case PPDD:
record = getPPDD(pdv, record);
break;
case XXAA:
record = getXXAA(pdv, record);
break;
case XXCC:
record = getXXCC(pdv, record);
break;
case XXBB:
record = getXXBB(pdv, record);
break;
case XXDD:
record = getXXDD(pdv, record);
break;
default:
continue;
}
@ -652,7 +919,9 @@ public class NcUairToRecord {
}
return records.toArray(new NcUairRecord[records.size()]);
}
public static List<NcUairRecord> toNcUairRecordsList(PointDataContainer container) {
public static List<NcUairRecord> toNcUairRecordsList(
PointDataContainer container) {
List<NcUairRecord> records = new ArrayList<NcUairRecord>();
container.setCurrentSz(container.getAllocatedSz());
for (int i = 0; i < container.getCurrentSz(); i++) {
@ -684,6 +953,18 @@ public class NcUairToRecord {
case PPDD:
record = getPPDD(pdv, record);
break;
case XXAA:
record = getXXAA(pdv, record);
break;
case XXCC:
record = getXXCC(pdv, record);
break;
case XXBB:
record = getXXBB(pdv, record);
break;
case XXDD:
record = getXXDD(pdv, record);
break;
default:
continue;
}

View file

@ -1,6 +1,5 @@
package gov.noaa.nws.ncep.edex.common.metparameters;
//import gov.noaa.nws.ncep.edex.common.metparameters.AbstractMetParameter;
//import gov.noaa.nws.ncep.edex.common.metparameters.Amount;
@ -24,22 +23,23 @@ import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import com.raytheon.uf.common.time.DataTime;
import com.raytheon.uf.common.time.DataTime.FLAG;
import com.raytheon.uf.common.serialization.ISerializableObject;
import com.raytheon.uf.common.serialization.adapters.UnitAdapter;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
import com.raytheon.uf.common.time.DataTime;
import com.raytheon.uf.common.time.DataTime.FLAG;
/**
* An abstract class for all metParameters. This will hold the value of the parameter and
* its units.
* An abstract class for all metParameters. This will hold the value of the
* parameter and its units.
*
* TODO : add support for the Level/Layer at which the value applies. The level could be a PressureLevel,
* a Height or 'Surface' or other defined layer. This would allow the derive methods to remove the PressureLevel
* derive() arguements and do a compatibility check on the other arguements to make sure they are all from the same
* level.
* Could also add support for the time or duration for which the value applies.
* TODO : add support for the Level/Layer at which the value applies. The level
* could be a PressureLevel, a Height or 'Surface' or other defined layer. This
* would allow the derive methods to remove the PressureLevel derive()
* arguements and do a compatibility check on the other arguements to make sure
* they are all from the same level. Could also add support for the time or
* duration for which the value applies.
*
*
* TODO : make this a generic for a Quantity? ... AbstractMetParameter<Q extents Quantity>
@ -55,6 +55,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
* 10/05/2011 Greg Hull add dataTime
* 10/14/2011 Greg Hull add setValueFromString
* 11/14/2011 B. Hebbard remove standardUnit
* 06/17/2014 S. Russell TTR 923: added member, get/set methods associatedMetParam
*
* </pre>
*
@ -69,6 +70,7 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I
/**
*
*/
@DynamicSerializeElement
private static final long serialVersionUID = 7369542461296836406L;
@ -76,6 +78,7 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I
super();
listOfInputMetPrmNamesForDerivingThisMetPrm = new ArrayList<String>(0);
}
@DynamicSerializeElement
private boolean useStringValue; // override to true for String parameters.
@ -90,12 +93,30 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I
// return standardUnit;
// }
// TTR 923, Holds the second MetParameter in a combination
// AbstractMetParameter uch as the PTND "button"
// (PressPressureChange3HrAndTendency MetParameter )
@DynamicSerializeElement
private AbstractMetParameter associatedMetParam = null;
protected List<String> listOfInputMetPrmNamesForDerivingThisMetPrm;
public final List<String> getListOfInputMetPrmNamesForDerivingThisMetParameter() {
return listOfInputMetPrmNamesForDerivingThisMetPrm;
}
// TTR 923
public void setAssociatedMetParam(AbstractMetParameter amp) {
if (this.associatedMetParam != null)
this.associatedMetParam = null;
this.associatedMetParam = amp;
}
public AbstractMetParameter getAssociatedMetParam() {
return this.associatedMetParam;
}
/**
* @return the dataTime
*/
@ -104,7 +125,8 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I
}
/**
* @param dataTime the dataTime to set
* @param dataTime
* the dataTime to set
*/
public final void setDataTime(DataTime dataTime) {
this.dataTime = dataTime;
@ -118,21 +140,24 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I
}
/**
* @param valueString the valueString to set
* @param valueString
* the valueString to set
*/
public final void setValueString(String valueString) {
this.valueString = valueString;
}
/**
* @param useStringValue the useStringValue to set
* @param useStringValue
* the useStringValue to set
*/
public final void setUseStringValue(boolean useStringValue) {
this.useStringValue = useStringValue;
}
/**
* @param standardUnit the standardUnit to set
* @param standardUnit
* the standardUnit to set
*/
// public final void setStandardUnit(Unit<?> standardUnit) {
// this.standardUnit = standardUnit;
@ -147,7 +172,6 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I
@DynamicSerializeElement
protected ArrayList<String> preferedDeriveParameters;
/**
* @return the useStringValue
*/
@ -231,8 +255,7 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I
if (dataTime.getUtilityFlags().contains(FLAG.PERIOD_USED)) {
return dataTime.getValidPeriod().contains(dt.getValidTime().getTime());
}
else {
} else {
return dataTime.compareTo(dt) == 0;
}
}
@ -245,8 +268,7 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I
public boolean hasValidValue() {
if (useStringValue) {
return (valueString == null ? false : true);
}
else {
} else {
return super.hasValidValue();
}
}
@ -256,17 +278,14 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I
public Number getValueAs(Unit<?> unitNeeded) {
if (!hasValidValue()) {
return null;
}
else if( !isUnitCompatible( unitNeeded ) ) {
System.out.println("getValueAs() : asking for incompatible units. "+
getUnit().toString() +", "+ unitNeeded.toString() );
} else if (!isUnitCompatible(unitNeeded)) {
System.out.println("getValueAs() : asking for incompatible units. " + getUnit().toString() + ", " + unitNeeded.toString());
return null;
}
if (useStringValue) {
return getMissingValueSentinel();
}
else {
} else {
return super.getValueAs(unitNeeded);
}
}
@ -278,27 +297,22 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I
try {
if (!isUnitCompatible(unitName)) {
System.out.println("getValueAs() : asking for incompatible units. "+
getUnit().toString() +" , "+ unitName );
System.out.println("getValueAs() : asking for incompatible units. " + getUnit().toString() + " , " + unitName);
return null;
}
if (useStringValue) {
return getMissingValueSentinel();
}
else {
} else {
return super.getValueAs(new UnitAdapter().unmarshal(unitName));
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
// this will work off of the current units so if we need to
@ -315,15 +329,13 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I
if (hasStringValue()) {
formattedValueStr = valueString;
}
else {
} else {
formattedValueStr = getValue().toString();
}
if (formatStr == null) {
return formattedValueStr;
}
else if( formatStr.startsWith("%") ) {
} else if (formatStr.startsWith("%")) {
// double formattedValue = valueAs.doubleValue();
StringBuilder sb = new StringBuilder();
Formatter fmtr = new Formatter(sb);
@ -334,10 +346,8 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I
// sValue = sValue.substring( trim );
return formattedValueStr;
}
else {
System.out.println("Sanity Check: Unrecognized format string ("+ formatStr +
") for metParameter "+ getMetParamName() );
} else {
System.out.println("Sanity Check: Unrecognized format string (" + formatStr + ") for metParameter " + getMetParamName());
return formattedValueStr;
}
}
@ -359,13 +369,11 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I
public void setValueFromString(String valStr, Unit<?> u) {
if (hasStringValue()) {
setStringValue(valStr);
}
else {
} else {
NumberFormat numFmt = NumberFormat.getInstance();
try {
setValue(numFmt.parse(valStr), u);
}
catch ( ParseException pe ) {
} catch (ParseException pe) {
super.setValueToMissing();
}
}
@ -380,8 +388,7 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I
super.setValueToMissing();
}
public Boolean derivable( ArrayList<String> checkedParams,
Collection<AbstractMetParameter> inputParams ) {
public Boolean derivable(ArrayList<String> checkedParams, Collection<AbstractMetParameter> inputParams) {
return (getDeriveMethod(checkedParams, inputParams) != null);
}
@ -393,15 +400,16 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I
// if the preferredDeriveParameters list is set then only use these
// parameters.
if (preferedDeriveParameters != null) {
ArrayList<AbstractMetParameter> inputParamsList = new ArrayList<AbstractMetParameter>();
for (AbstractMetParameter prm : inputParams) {
if (preferedDeriveParameters.contains(prm.getMetParamName())) {
inputParamsList.add(prm);
}
}
return getDeriveMethod(checkedParams, inputParamsList);
}
else {
} else {
return getDeriveMethod(checkedParams, inputParams);
}
}
@ -409,8 +417,7 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I
// check each of the methods named 'derive' and check to see if the
// given inputParams are sufficient to derive this ncParameter.
//
public Method getDeriveMethod( ArrayList<String> checkedParams,
Collection<AbstractMetParameter> inputParams ) {
public Method getDeriveMethod(ArrayList<String> checkedParams, Collection<AbstractMetParameter> inputParams) {
Method[] deriveMthds = this.getClass().getDeclaredMethods();
ArrayList<Method> foundDeriveMthds = new ArrayList<Method>();
@ -446,13 +453,11 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I
// if not in the list and if we have already checked this parameter
// then see if it is derivable
//
if( !prmFound &&
!checkedParams.contains( this.getMetParamName() ) ) {
if (!prmFound && !checkedParams.contains(this.getMetParamName())) {
AbstractMetParameter argParam;
try {
argParam = (AbstractMetParameter)
argClass.getConstructor( ).newInstance();
argParam = (AbstractMetParameter) argClass.getConstructor().newInstance();
String metPrmName = argParam.getMetParamName();
checkedParams.add(metPrmName);
@ -487,22 +492,17 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I
//
if (foundDeriveMthds.isEmpty()) {
return null;
}
else if( foundDeriveMthds.size() > 1 ) {
} else if (foundDeriveMthds.size() > 1) {
// If this happens then the caller should set the preferredDeriveParameters
// list to tell this method which arguements to use.
System.out.println("Sanity Check: metParameter "+
getMetParamName() + " has multiple derive() methods for " +
"the given input parameters.");
System.out.println("Sanity Check: metParameter " + getMetParamName() + " has multiple derive() methods for " + "the given input parameters.");
return null;
}
else {
} else {
return foundDeriveMthds.get(0);
}
}
public AbstractMetParameter derive( Collection<AbstractMetParameter> inputParams )
throws NotDerivableException {
public AbstractMetParameter derive(Collection<AbstractMetParameter> inputParams) throws NotDerivableException {
Method deriveMthd = getDeriveMethod(inputParams);
@ -532,8 +532,7 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I
if (!inputPrm.hasValidValue()) {
setValueToMissing();
return this;
}
else {
} else {
mthdArgs.add(inputPrm);
prmFound = true;
break;
@ -561,12 +560,10 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I
derivedParam = deriveMthd.invoke(this, mthdArgs.get(0), mthdArgs.get(1));
break;
case 3:
derivedParam = deriveMthd.invoke(this, mthdArgs.get(0), mthdArgs.get(1),
mthdArgs.get(2) );
derivedParam = deriveMthd.invoke(this, mthdArgs.get(0), mthdArgs.get(1), mthdArgs.get(2));
break;
case 4:
derivedParam = deriveMthd.invoke(this, mthdArgs.get(0), mthdArgs.get(1),
mthdArgs.get(2), mthdArgs.get(3) );
derivedParam = deriveMthd.invoke(this, mthdArgs.get(0), mthdArgs.get(1), mthdArgs.get(2), mthdArgs.get(3));
break;
}
@ -625,8 +622,7 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I
//String
if (hasStringValue()) {
return getClass().getSimpleName() + " " + getStringValue();
}
else {
} else {
return getClass().getSimpleName() + " " + getValue().toString() + " " + getUnit().toString();
}
}
@ -678,5 +674,4 @@ public abstract class AbstractMetParameter extends Amount implements Quantity, I
// return metParam;
// }
}

View file

@ -1,28 +1,27 @@
package gov.noaa.nws.ncep.edex.common.metparameters;
import gov.noaa.nws.ncep.edex.common.metparameters.MetParameterFactory.DeriveMethod;
import gov.noaa.nws.ncep.edex.common.metparameters.parameterconversion.PRLibrary;
import gov.noaa.nws.ncep.edex.common.metparameters.parameterconversion.PRLibrary.InvalidValueException;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import com.raytheon.uf.common.serialization.ISerializableObject;
import com.raytheon.uf.common.serialization.adapters.UnitAdapter;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
import gov.noaa.nws.ncep.edex.common.metparameters.MetParameterFactory.DeriveMethod;
import gov.noaa.nws.ncep.edex.common.metparameters.parameterconversion.PRLibrary;
//import gov.noaa.nws.ncep.edex.common.metparameters.parameterconversion.PRLibrary.InvalidRangeException;
import gov.noaa.nws.ncep.edex.common.metparameters.parameterconversion.PRLibrary.InvalidValueException;
/**
* Maps to any of the GEMPAK parameters DWPC/ DWPK/DWPF
* depending on the unit used to measure the dewpoint.
* Maps to any of the GEMPAK parameters DWPC/ DWPK/DWPF depending on the unit
* used to measure the dewpoint.
*/
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize
public class DewPointTemp extends AbstractMetParameter implements
javax.measure.quantity.Temperature, ISerializableObject {
public class DewPointTemp extends AbstractMetParameter implements javax.measure.quantity.Temperature, ISerializableObject {
/**
*
@ -36,6 +35,7 @@ public class DewPointTemp extends AbstractMetParameter implements
@DeriveMethod
public DewPointTemp derive(MixingRatio m, PressureLevel p) throws InvalidValueException, NullPointerException {
if (m.hasValidValue() && p.hasValidValue()) {
Amount theDewpointTemperatureAmount = PRLibrary.prDwpt(m, p);
this.setValue(theDewpointTemperatureAmount);
@ -46,6 +46,7 @@ public class DewPointTemp extends AbstractMetParameter implements
@DeriveMethod
public DewPointTemp derive(SurfaceMixingRatio m, SurfacePressure p) throws InvalidValueException, NullPointerException {
if (m.hasValidValue() && p.hasValidValue()) {
Amount theDewpointTemperatureAmount = PRLibrary.prDwpt(m, p);
this.setValue(theDewpointTemperatureAmount);
@ -56,6 +57,7 @@ public class DewPointTemp extends AbstractMetParameter implements
@DeriveMethod
public DewPointTemp derive(AirTemperature t, DewPointDepression dp) throws InvalidValueException, NullPointerException {
if (t.hasValidValue() && dp.hasValidValue()) {
Amount theDewpointTemperatureAmount = PRLibrary.prDwdp(t, dp);
this.setValue(theDewpointTemperatureAmount);
@ -74,21 +76,5 @@ public class DewPointTemp extends AbstractMetParameter implements
setValueToMissing();
return this;
}
}

View file

@ -5,16 +5,17 @@ import java.lang.annotation.RetentionPolicy;
import java.text.ParseException;
import java.text.ParsePosition;
import java.util.HashMap;
import javax.measure.unit.Unit;
import javax.measure.unit.UnitFormat;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import com.raytheon.uf.common.time.DataTime;
import com.raytheon.uf.common.serialization.ISerializableObject;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
import com.raytheon.uf.common.time.DataTime;
//import com.raytheon.uf.viz.core.exception.VizException;
@ -42,8 +43,7 @@ public class MetParameterFactory implements ISerializableObject{
//
@DynamicSerializeElement
private HashMap<String, AbstractMetParameter> ncParamsMap =
new HashMap<String, AbstractMetParameter>();
private HashMap<String, AbstractMetParameter> ncParamsMap = new HashMap<String, AbstractMetParameter>();
@DynamicSerializeElement
private static MetParameterFactory instance = null;
@ -218,6 +218,11 @@ public class MetParameterFactory implements ISerializableObject{
ncParamsMap.put(PresentWeather.class.getSimpleName(), new PresentWeather());
ncParamsMap.put(PressureLevel.class.getSimpleName(), new PressureLevel());
ncParamsMap.put(PressChange3Hr.class.getSimpleName(), new PressChange3Hr());
// TTR 923
ncParamsMap.put(PressChange3HrAbsVal.class.getSimpleName(), new PressChange3HrAbsVal());
ncParamsMap.put(PressureChange3HrAndTendency.class.getSimpleName(), new PressureChange3HrAndTendency());
ncParamsMap.put(PressChange24Hr.class.getSimpleName(), new PressChange24Hr());
ncParamsMap.put(PressureTendencySymbol.class.getSimpleName(), new PressureTendencySymbol());
ncParamsMap.put(POPFcst06Hrs.class.getSimpleName(), new POPFcst06Hrs());
@ -316,8 +321,7 @@ public class MetParameterFactory implements ISerializableObject{
ncParamsMap.put(VirtualTemp.class.getSimpleName(), new VirtualTemp());
ncParamsMap.put(Visibility.class.getSimpleName(), new Visibility());
ncParamsMap.put(WindDirectionVComp.class.getSimpleName(), new WindDirectionVComp());
ncParamsMap.put( WaterEquivOfNewSnow.class.getSimpleName(), new
WaterEquivOfNewSnow() );
ncParamsMap.put(WaterEquivOfNewSnow.class.getSimpleName(), new WaterEquivOfNewSnow());
ncParamsMap.put(WaveSteepness.class.getSimpleName(), new WaveSteepness());
ncParamsMap.put(WetBulbPotentialTemp.class.getSimpleName(), new WetBulbPotentialTemp());
ncParamsMap.put(WetBulbTemp.class.getSimpleName(), new WetBulbTemp());
@ -338,8 +342,7 @@ public class MetParameterFactory implements ISerializableObject{
ncParamsMap.put(ProbablePresentWeather.class.getSimpleName(), new ProbablePresentWeather());
ncParamsMap.put(LowLevelWindShear.class.getSimpleName(), new LowLevelWindShear());
ncParamsMap.put(WxPresent.class.getSimpleName(), new WxPresent());
}
catch(Exception e ){
} catch (Exception e) {
e.printStackTrace();
}
}
@ -351,15 +354,14 @@ public class MetParameterFactory implements ISerializableObject{
// get the default units
public AbstractMetParameter createParameter(String prmName) {
String ncParamName;
if (ncParamsAliasMap.containsKey(prmName)) {
ncParamName = ncParamsAliasMap.get(prmName);
}
else {
} else {
ncParamName = prmName;
}
if( ncParamName == null ||
!ncParamsMap.containsKey( ncParamName )) {
if (ncParamName == null || !ncParamsMap.containsKey(ncParamName)) {
System.out.println("can't find ncParam for : " + prmName);
return null;
}
@ -367,12 +369,10 @@ public class MetParameterFactory implements ISerializableObject{
AbstractMetParameter ncParam = ncParamsMap.get(ncParamName);
try {
AbstractMetParameter newParam = (AbstractMetParameter)
ncParam.getClass().getConstructor().newInstance();
AbstractMetParameter newParam = (AbstractMetParameter) ncParam.getClass().getConstructor().newInstance();
return newParam;
} catch (Exception e) {
System.out.println("error getting newInstance for metParam " +
ncParam.getClass().getSimpleName() );
System.out.println("error getting newInstance for metParam " + ncParam.getClass().getSimpleName());
}
return null;
@ -385,11 +385,9 @@ public class MetParameterFactory implements ISerializableObject{
if (unitName == null) {
units = Unit.ONE;
}
else {
} else {
try {
units = UnitFormat.getUCUMInstance().parseProductUnit(
unitName, new ParsePosition(0) );
units = UnitFormat.getUCUMInstance().parseProductUnit(unitName, new ParsePosition(0));
} catch (ParseException e) {
System.out.println("unable to determine units for " + unitName);
return null;
@ -423,10 +421,8 @@ public class MetParameterFactory implements ISerializableObject{
public boolean alias(String prmName, String alias) {
if( ncParamsAliasMap.containsKey( alias ) &&
!ncParamsAliasMap.get( alias ).equals( prmName ) ) {
System.out.println("Error aliasing ncParam "+prmName+" : "+alias +
" is already aliased to "+ncParamsAliasMap.get( alias ) );
if (ncParamsAliasMap.containsKey(alias) && !ncParamsAliasMap.get(alias).equals(prmName)) {
System.out.println("Error aliasing ncParam " + prmName + " : " + alias + " is already aliased to " + ncParamsAliasMap.get(alias));
// return false;
}
@ -446,7 +442,8 @@ public class MetParameterFactory implements ISerializableObject{
}
}
public @Retention(RetentionPolicy.RUNTIME) @interface DeriveMethod {
public @Retention(RetentionPolicy.RUNTIME)
@interface DeriveMethod {
}
}

View file

@ -1,5 +1,10 @@
package gov.noaa.nws.ncep.edex.common.metparameters;
import gov.noaa.nws.ncep.edex.common.metparameters.MetParameterFactory.DeriveMethod;
import gov.noaa.nws.ncep.edex.common.metparameters.parameterconversion.PRLibrary;
import gov.noaa.nws.ncep.edex.common.metparameters.parameterconversion.PRLibrary.InvalidValueException;
import javax.measure.unit.Unit;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@ -8,16 +13,26 @@ import com.raytheon.uf.common.serialization.ISerializableObject;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
/**
* Maps to the GEMPAK parameter P03C
* Maps to "pressChange3Hour" field of the HDF5 table/decoder
*
* <pre>
*
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* 06/17/2014 TTR 923 S. Russell TTR 923: added derive() to get PTSY needed to get the sign
*
* </pre>
*
* @author unknown
* @version 2.0
*/
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize
public class PressChange3Hr extends AbstractMetParameter implements
javax.measure.quantity.Pressure, ISerializableObject {
public class PressChange3Hr extends AbstractMetParameter implements javax.measure.quantity.Pressure, ISerializableObject {
/**
*
*/
@ -27,8 +42,35 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
super(UNIT);
}
/* Derive the pressure value using P03C along with PTSY to calculate the
* positive or negative sign. */
@DeriveMethod
public PressChange3Hr derive(PressChange3HrAbsVal p, PressureTendencySymbol ptsy) throws InvalidValueException, NullPointerException {
if (p.hasValidValue() && ptsy.hasValidValue()) {
Number n = (Number) new Integer(ptsy.getStringValue());
Amount ptsyAmount = new Amount(n, Unit.ONE);
Amount theP03CAmount = PRLibrary.prP03CAbsVal(p, ptsyAmount);
this.setAssociatedMetParam(copyDerivedPTSY(ptsy));
this.setValue(theP03CAmount);
} else {
this.setValueToMissing();
}
return this;
}
private PressureTendencySymbol copyDerivedPTSY(PressureTendencySymbol ptsy) {
PressureTendencySymbol cptsy = new PressureTendencySymbol();
cptsy.setDataTime(ptsy.getDataTime());
cptsy.setStringValue(ptsy.getStringValue());
cptsy.setUnit(ptsy.getUnit());
cptsy.setValidTime(ptsy.getValidTime());
return cptsy;
}
}

View file

@ -0,0 +1,28 @@
package gov.noaa.nws.ncep.edex.common.metparameters;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import com.raytheon.uf.common.serialization.ISerializableObject;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
/**
* Maps to "pressChange3Hour" field of the HDF5 table/decoder, This used to be
* the original PressChange3Hr.java/P03C, which was unsigned, but all values
* would become positive. See TTR 923
*/
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize
public class PressChange3HrAbsVal extends AbstractMetParameter implements javax.measure.quantity.Pressure, ISerializableObject {
/**
*
*/
private static final long serialVersionUID = 4636092028758506639L;
public PressChange3HrAbsVal() {
super(UNIT);
}
}

View file

@ -0,0 +1,64 @@
package gov.noaa.nws.ncep.edex.common.metparameters;
import gov.noaa.nws.ncep.edex.common.metparameters.MetParameterFactory.DeriveMethod;
import gov.noaa.nws.ncep.edex.common.metparameters.parameterconversion.PRLibrary;
import gov.noaa.nws.ncep.edex.common.metparameters.parameterconversion.PRLibrary.InvalidValueException;
import javax.measure.quantity.Dimensionless;
import javax.measure.unit.Unit;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import com.raytheon.uf.common.serialization.ISerializableObject;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
/*
* Used for the PTND button, which combines P03C + PTSY
* PressureChange3Hr + PressureTendencySymbol
*/
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize
public class PressureChange3HrAndTendency extends AbstractMetParameter implements Dimensionless, ISerializableObject {
@DynamicSerializeElement
private static final long serialVersionUID = -6602297437762954327L;
public PressureChange3HrAndTendency() {
super(UNIT);
}
@DeriveMethod
public PressureChange3HrAndTendency derive(PressChange3HrAbsVal p, PressureTendencySymbol ptsy) throws InvalidValueException, NullPointerException {
if (p.hasValidValue() && ptsy.hasValidValue()) {
Number n = (Number) new Integer(ptsy.getStringValue());
Amount ptsyAmount = new Amount(n, Unit.ONE);
Amount theP03CAmount = PRLibrary.prP03CAbsVal(p, ptsyAmount);
this.setAssociatedMetParam(copyDerivedPTSY(ptsy));
this.setValue(theP03CAmount);
} else {
this.setValueToMissing();
}
return this;
}
private PressureTendencySymbol copyDerivedPTSY(PressureTendencySymbol ptsy) {
PressureTendencySymbol cptsy = new PressureTendencySymbol();
cptsy.setDataTime(ptsy.getDataTime());
cptsy.setStringValue(ptsy.getStringValue());
cptsy.setUnit(ptsy.getUnit());
cptsy.setValidTime(ptsy.getValidTime());
return cptsy;
}
}// end class PressureChange3HrAndTendency

View file

@ -3,7 +3,6 @@
*/
package gov.noaa.nws.ncep.edex.common.metparameters;
import javax.measure.quantity.Dimensionless;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
@ -12,24 +11,23 @@ import javax.xml.bind.annotation.XmlRootElement;
import com.raytheon.uf.common.serialization.ISerializableObject;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
/**
* Maps to the GEMPAK parameter PTND
*/
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize
public class PressureTendencySymbol extends AbstractMetParameter implements
Dimensionless, ISerializableObject {
public class PressureTendencySymbol extends AbstractMetParameter implements Dimensionless, ISerializableObject {
/**
* The parameter values are indexes into the press_change_char_lookup.txt file which
* references symbols defined in the WxSymbols.svg file.
* The parameter values are indexes into the press_change_char_lookup.txt
* file which references symbols defined in the WxSymbols.svg file.
*/
private static final long serialVersionUID = -4616340047592131749L;
public PressureTendencySymbol() {
super(UNIT);
//setValueIsString(); it has both int and string
// TTR 922-923, This is needed to display PTSY
setValueIsString();
}
}

View file

@ -1,12 +1,9 @@
package gov.noaa.nws.ncep.edex.common.metparameters;
import gov.noaa.nws.ncep.edex.common.metparameters.MetParameterFactory.DeriveMethod;
import gov.noaa.nws.ncep.edex.common.metparameters.parameterconversion.PRLibrary;
//import gov.noaa.nws.ncep.edex.common.metparameters.parameterconversion.PRLibrary.InvalidRangeException;
import gov.noaa.nws.ncep.edex.common.metparameters.parameterconversion.PRLibrary.InvalidValueException;
import javax.measure.quantity.Dimensionless;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
@ -17,13 +14,14 @@ import com.raytheon.uf.common.serialization.adapters.UnitAdapter;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
//import gov.noaa.nws.ncep.edex.common.metparameters.parameterconversion.PRLibrary.InvalidRangeException;
/**
* Maps to the GEMPAK parameter RELH
*/
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize
public class RelativeHumidity extends AbstractMetParameter implements Dimensionless, ISerializableObject {
/**
@ -56,6 +54,7 @@ public class RelativeHumidity extends AbstractMetParameter implements Dimensionl
@DeriveMethod
public RelativeHumidity derive(AirTemperature t, DewPointTemp d) throws InvalidValueException, NullPointerException {
if (t.hasValidValue() && d.hasValidValue()) {
Amount theRelhAmount = PRLibrary.prRelh(t, d);
this.setValue(theRelhAmount);
@ -65,4 +64,3 @@ public class RelativeHumidity extends AbstractMetParameter implements Dimensionl
return this;
}
}

View file

@ -154,6 +154,7 @@ public class NcSoundingLayer implements ISerializableObject, Cloneable {
}
/**
*
* @param pressure
* @param geoHeight
* @param temperature
@ -164,8 +165,7 @@ public class NcSoundingLayer implements ISerializableObject, Cloneable {
* @param windV
* @param omega
* @param specHumidity
* @param dewDepression
* @param dataType
* @param dpd
*/
public NcSoundingLayer(float pressure, float geoHeight, float temperature,
float dewpoint, float windSpeed, float windDirection, float windU,
@ -187,6 +187,25 @@ public class NcSoundingLayer implements ISerializableObject, Cloneable {
}
public NcSoundingLayer(float pressure, float geoHeight, float temperature,
float dewpoint, float windSpeed, float windDirection, float windU,
float windV, float omega, float specHumidity, float relativeHumidity) {
super();
this.pressure = pressure;
this.geoHeight = geoHeight;
this.temperature = temperature;
this.dewpoint = dewpoint;
this.windSpeed = windSpeed;
this.windDirection = windDirection;
this.windU = windU;
this.windV = windV;
this.omega = omega;
this.specHumidity = specHumidity;
this.relativeHumidity = relativeHumidity;
this.dpd = MISSING;
}
/*
* public String getDataType() { return dataType; }
*
@ -246,6 +265,24 @@ public class NcSoundingLayer implements ISerializableObject, Cloneable {
this.temperature = temperature;
}
/**
* @return the dpd
*/
public float getDpd() {
return dpd;
}
/**
* @param dpd
* the dpd to set
*/
public void setDpd(float dpd) {
if (dpd == LEGACY_MISSING)
this.dpd = MISSING;
else
this.dpd = dpd;
}
/**
* @return the dewpoint in Celsius
*/
@ -368,14 +405,6 @@ public class NcSoundingLayer implements ISerializableObject, Cloneable {
this.relativeHumidity = relativeHumidity;
}
public float getDpd() {
return dpd;
}
public void setDpd(float dpd) {
this.dpd = dpd;
}
private void computeUV() {
if (windSpeed > MISSING && windDirection > MISSING) {
Coordinate uv = uvComp(windSpeed, windDirection);
@ -460,6 +489,7 @@ public class NcSoundingLayer implements ISerializableObject, Cloneable {
@Override
public String toString() {
return "Pressure=" + getPressure() + "mb:Z=" + getGeoHeight() + "m:T="
+ getTemperature() + "\u00B0C:Td=" + getDewpoint()
+ "\u00B0C:WS=" + getWindSpeed() + "m/s:WD="

View file

@ -1,4 +1,5 @@
package gov.noaa.nws.ncep.edex.common.sounding;
/**
*
* gov.noaa.nws.ncep.edex.common.sounding.NcSoundingProfile
@ -18,13 +19,13 @@ package gov.noaa.nws.ncep.edex.common.sounding;
* 09/14/2011 457 S. Gurung Renamed ObsSndType.H5UAIR to ObsSndType.NCUAIR
*10/06/2011 465 Archana Added a list of NcSoundingLayer2 objects to the sounding profile
* 02/15/2012 Chin Chen added fcsTime to support pfc sounding query
* 07/23/2014 Chin Chen Support PW
* </pre>
*
* @author Chin Chen
* @version 1.0
*/
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@ -35,6 +36,7 @@ import javax.xml.bind.annotation.XmlRootElement;
import com.raytheon.uf.common.serialization.ISerializableObject;
import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
@XmlRootElement
@XmlAccessorType(XmlAccessType.NONE)
@DynamicSerialize
@ -46,24 +48,32 @@ public class NcSoundingProfile implements ISerializableObject{
@DynamicSerializeElement
public static final float MISSING = -9999.f;
public static enum PfcSndType {
NAMSND, GFSSND, RUC2SND, RUCPTYPSND, BROWSE, NONE
};
public static enum MdlSndType {
ANY, NONE
};
public static enum ObsSndType {
NCUAIR, UAIR, DROP, TAMDAR, BUFRUA //same as uair but using bufrua decoder and data is saved in HDF5
NCUAIR, UAIR, DROP, TAMDAR, BUFRUA // same as uair but using bufrua
// decoder and data is saved in HDF5
, BROWSE, NONE
};
// Important Note:
//Chin: definition is based on UAIR record. stnid is string of character, stnnum is string of number
//BUFRUA has different definition. stnid is string of number which is stnnum in UAIR,
// Chin: definition is based on UAIR record. stnid is string of character,
// stnnum is string of number
// BUFRUA has different definition. stnid is string of number which is
// stnnum in UAIR,
// and stnname is string of character which is stnid in UAIR..
// type conversion is done at BUFRUA code.
public static enum SndQueryKeyType {
LATLON, STNID, STNNUM, NONE
};
@DynamicSerializeElement
private List<NcSoundingLayer> soundingLyLst;
@ -72,12 +82,15 @@ public class NcSoundingProfile implements ISerializableObject{
@DynamicSerializeElement
private float stationElevation;
// @DynamicSerializeElement
// private String stationId;
@DynamicSerializeElement
private double stationLatitude;
@DynamicSerializeElement
private double stationLongitude;
@DynamicSerializeElement
private float sfcPress;
@ -93,6 +106,9 @@ public class NcSoundingProfile implements ISerializableObject{
@DynamicSerializeElement
private NcSoundingCube.QueryStatus rtnStatus = NcSoundingCube.QueryStatus.OK;
// Support PW
@DynamicSerializeElement
private float pw = -1;
public NcSoundingCube.QueryStatus getRtnStatus() {
return rtnStatus;
@ -118,7 +134,6 @@ public class NcSoundingProfile implements ISerializableObject{
this.stationNum = stnNum;
}
public long getFcsTime() {
return fcsTime;
}
@ -143,7 +158,8 @@ public class NcSoundingProfile implements ISerializableObject{
}
/**
* @param soundingLyLst2 the soundingLyLst2 to set
* @param soundingLyLst2
* the soundingLyLst2 to set
*/
public void setSoundingLyLst2(List<NcSoundingLayer2> soundingLyLst2) {
this.soundingLyLst2 = soundingLyLst2;
@ -157,7 +173,6 @@ public class NcSoundingProfile implements ISerializableObject{
this.stationElevation = stationElevation;
}
public double getStationLatitude() {
return stationLatitude;
}
@ -188,9 +203,9 @@ public class NcSoundingProfile implements ISerializableObject{
// TO-DO: Add station number (stationNumber)
public NcSoundingProfile(List<NcSoundingLayer2> soundingLyLst2,
List<NcSoundingLayer> soundingLyLst,
float stationElevation, String stationId, float stationLatitude,
float stationLongitude, float sfcPress, int stnNum) {
List<NcSoundingLayer> soundingLyLst, float stationElevation,
String stationId, float stationLatitude, float stationLongitude,
float sfcPress, int stnNum) {
super();
this.soundingLyLst2 = soundingLyLst2;
this.soundingLyLst = soundingLyLst;
@ -214,41 +229,33 @@ public class NcSoundingProfile implements ISerializableObject{
this.stationNum = 0;
}
public float getPw() {
return pw;
}
public void setPw(float pw) {
this.pw = pw;
}
/*
@Override
protected AbstractStorageRecord cloneInternal() {
// TODO Auto-generated method stub
System.out.println("NcSoundingProfile cloneInternal()");
return null;
}
@Override
public Object getDataObject() {
// TODO Auto-generated method stub
System.out.println("NcSoundingProfile getDataObject()");
return null;
}
@Override
public int getSizeInBytes() {
// TODO Auto-generated method stub
System.out.println("NcSoundingProfile getSizeInBytes()");
return 0;
}
@Override
public void reduce(int[] indices) {
// TODO Auto-generated method stub
System.out.println("NcSoundingProfile ()");
}
@Override
public boolean validateDataSet() {
// TODO Auto-generated method stub
System.out.println("NcSoundingProfile validateDataSet()");
return false;
}
* @Override protected AbstractStorageRecord cloneInternal() { // TODO
* Auto-generated method stub
* System.out.println("NcSoundingProfile cloneInternal()"); return null; }
*
* @Override public Object getDataObject() { // TODO Auto-generated method
* stub System.out.println("NcSoundingProfile getDataObject()"); return
* null; }
*
* @Override public int getSizeInBytes() { // TODO Auto-generated method
* stub System.out.println("NcSoundingProfile getSizeInBytes()"); return 0;
* }
*
* @Override public void reduce(int[] indices) { // TODO Auto-generated
* method stub System.out.println("NcSoundingProfile ()"); }
*
* @Override public boolean validateDataSet() { // TODO Auto-generated
* method stub System.out.println("NcSoundingProfile validateDataSet()");
* return false; }
*/
}

View file

@ -0,0 +1,179 @@
package gov.noaa.nws.ncep.edex.common.sounding;
import java.util.List;
/**
*
* gov.noaa.nws.ncep.edex.common.sounding.NcSoundingTools
*
* This code has been developed by the SIB for use in the AWIPS2 system.
*
* <pre>
* SOFTWARE HISTORY
*
* Date Ticket# Engineer Description
* ------- ------- -------- -----------
* 07/24/2014 Chin Chen Initial coding
* Support PW computation
*
*
* </pre>
*
* @author Chin Chen
* @version 1.0
*/
public class NcSoundingTools {
/*************************************************************
* PRECIP_WATER Calculates the Precipitation Water in mm from Bottom level
* of layer (mb) to Top level of layer (mb)
*************************************************************/
public static float precip_water(List<NcSoundingLayer> sndlayers) {
float pw = 0;
float d1, p1, d2, p2, tot, w1, w2, wbar;
// ----- Start with interpolated bottom layer -----
// find surface layer or first layer with valid dewpoint
int sfcIndex = 0;
for (int i = 0; i < sndlayers.size(); i++) {
if (sndlayers.get(i).getDewpoint() != -9999f) {
sfcIndex = i;
break;
}
}
d1 = sndlayers.get(sfcIndex).getDewpoint(); // dewp
// in
// C
p1 = sndlayers.get(sfcIndex).getPressure(); // pressure
// n
// mb
tot = 0;
for (int i = sfcIndex + 1; i < sndlayers.size(); i++) {
/* ----- Calculate every level that reports a dwpt ----- */
d2 = sndlayers.get(i).getDewpoint(); // dewp
// in C
if (d2 == -9999f)
continue;
p2 = sndlayers.get(i).getPressure(); // pressure
// n mb
w1 = mixingRatio(d1, p1);
w2 = mixingRatio(d2, p2);
wbar = (w1 + w2) / 2;
tot = tot + wbar * (p1 - p2);
// System.out.println("p1=" + p1 + " d1=" + d1 + " p2=" + p2 +
// " d2="
// + d2);
d1 = d2;
p1 = p2;
// test the case when top level is 400 mb
// if (p2 == 400)
// break;
}
/* ----- Convert to mm (from g*mb/kg) ----- */
pw = tot * 0.00040173f * 25.4f;
return pw;
}
public static float precip_water2(List<NcSoundingLayer2> sndlayers) {
float pw = 0;
float d1, p1, d2, p2, tot, w1, w2, wbar;
if (sndlayers == null || sndlayers.size() <= 0)
return 0;
// ----- Start with interpolated bottom layer -----
// find surface layer or first layer with valid dewpoint
int sfcIndex = 0;
for (int i = 0; i < sndlayers.size(); i++) {
if (sndlayers.get(i).getDewpoint().getValue().floatValue() != -9999f) {
sfcIndex = i;
break;
}
}
d1 = sndlayers.get(sfcIndex).getDewpoint().getValue().floatValue(); // dewp
// in
// C
p1 = sndlayers.get(sfcIndex).getPressure().getValue().floatValue(); // pressure
// n
// mb
tot = 0;
for (int i = sfcIndex + 1; i < sndlayers.size(); i++) {
/* ----- Calculate every level that reports a dwpt ----- */
d2 = sndlayers.get(i).getDewpoint().getValue().floatValue(); // dewp
// in C
if (d2 == -9999f)
continue;
p2 = sndlayers.get(i).getPressure().getValue().floatValue(); // pressure
// n mb
w1 = mixingRatio(d1, p1);
w2 = mixingRatio(d2, p2);
wbar = (w1 + w2) / 2;
tot = tot + wbar * (p1 - p2);
d1 = d2;
p1 = p2;
// test the case when top level is 400 mb
// if (p2 == 400)
// break;
}
/* ----- Convert to mm (from g*mb/kg) ----- */
pw = tot * 0.00040173f * 25.4f;
return pw;
}
/*
* Compute mixing ratio from DWPC and PRES. Chin: copy from
* gov.noaa.nws.ncep.edex.uengine.tasks.profile.MergeSounding
*/
private static float mixingRatio(float td, float pres) {
float vapr = vaporPressure(td);
float corr = (1.001f + ((pres - 100.f) / 900.f) * .0034f);
float e = corr * vapr;
if (e > (.5f * pres)) {
return -9999f;
} else {
return .62197f * (e / (pres - e)) * 1000.f;
}
}
/*
* Compute vapor pressure from DWPC. Chin: copy from
* gov.noaa.nws.ncep.edex.uengine.tasks.profile.MergeSounding
*/
private static float vaporPressure(float td) {
return (6.112f * (float) Math.exp((17.67 * td) / (td + 243.5)));
}
// The followings are converted from BigSharp, the computation results are
// about the same as above methods.
// private static float mixratio(float pres, float temp)
//
// {
// float x, wfw, fwesw;
//
// x = 0.02f * (temp - 12.5f + 7500.0f / pres);
// wfw = 1.0f + 0.0000045f * pres + 0.0014f * x * x;
// fwesw = wfw * vappres(temp);
// return 621.97f * (fwesw / (pres - fwesw));
// }
//
// private static float vappres(float temp)
//
// {
// double pol;
// pol = temp * (1.1112018e-17 + temp * (-3.0994571e-20));
// pol = temp * (2.1874425e-13 + temp * (-1.789232e-15 + pol));
// pol = temp * (4.3884180e-09 + temp * (-2.988388e-11 + pol));
// pol = temp * (7.8736169e-05 + temp * (-6.111796e-07 + pol));
// pol = .99999683e-00 + temp * (-9.082695e-03 + pol);
// pol = (pol * pol);
// pol = (pol * pol);
// return (6.1078f / (float) (pol * pol));
// }
}

View file

@ -1,532 +0,0 @@
/**
*
*/
package gov.noaa.nws.ncep.edex.tools.decoder;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
//import com.raytheon.edex.tools.decoder.LatLonPoint; //TO10
import com.raytheon.uf.edex.decodertools.core.LatLonPoint; //TO11
/**
* VOR - A *TEMPORARY* enum class to define some known VORs
* used to define convective SIGMET locations. (See below.)
*
* This code has been developed by the SIB for use in the AWIPS2 system.
*
* <pre>
* SOFTWARE HISTORY
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* 12 Jun 2009 95 B. Hebbard Initial creation.
* 24 Jun 2009 95/132 B. Hebbard Add getLatLonPoint; move to common plugin
* 22 Jul 2009 for 132 B. Hebbard Port to TO11 until station table avail. EDEX
*
* </pre>
*
* @author bhebbard
* @version 1.0
*/
public enum VOR {
// (From GEMPAK vors.tbl -- for TEMPORARY use only, just until
// this is handled by more general station/location design.
//
// Note these are a SUBSET of the high-altitude VORs in North America
// used by AWC for SIGMET bounding points. It is NOT sufficient
// for lookup in cases where where all VHF NAVAIDs -- or
// even all VORs -- are required [say, for PIREP decoding])
//
// Lat Lon
YSJ ( 45.32 , -65.88 ) ,
HUL ( 46.04 , -67.83 ) ,
PQI ( 46.77 , -68.09 ) ,
MLT ( 45.58 , -68.52 ) ,
BGR ( 44.84 , -68.87 ) ,
ACK ( 41.28 , -70.03 ) ,
ENE ( 43.43 , -70.61 ) ,
BOS ( 42.36 , -70.99 ) ,
YQB ( 46.80 , -71.38 ) ,
PVD ( 41.72 , -71.43 ) ,
CON ( 43.22 , -71.58 ) ,
YSC ( 45.43 , -71.68 ) ,
HTO ( 40.92 , -72.32 ) ,
MPV ( 44.22 , -72.57 ) ,
BDL ( 41.94 , -72.69 ) ,
PLB ( 44.69 , -73.52 ) ,
JFK ( 40.63 , -73.77 ) ,
ALB ( 42.75 , -73.80 ) ,
CYN ( 39.82 , -74.43 ) ,
SAX ( 41.07 , -74.54 ) ,
MSS ( 44.91 , -74.72 ) ,
SIE ( 39.10 , -74.80 ) ,
HNK ( 42.06 , -75.32 ) ,
SBY ( 38.35 , -75.52 ) ,
YOW ( 45.32 , -75.67 ) ,
ETX ( 40.58 , -75.68 ) ,
ECG ( 36.25 , -76.18 ) ,
SYR ( 43.16 , -76.20 ) ,
ORF ( 36.89 , -76.20 ) ,
EMI ( 39.50 , -76.98 ) ,
HAR ( 40.23 , -77.02 ) ,
DCA ( 38.86 , -77.04 ) ,
RIC ( 37.50 , -77.32 ) ,
CSN ( 38.64 , -77.87 ) ,
ILM ( 34.35 , -77.87 ) ,
SLT ( 41.51 , -77.97 ) ,
PSB ( 40.92 , -77.99 ) ,
BUF ( 42.93 , -78.65 ) ,
RDU ( 35.87 , -78.78 ) ,
JST ( 40.32 , -78.83 ) ,
JHW ( 42.19 , -79.12 ) ,
LYH ( 37.25 , -79.23 ) ,
YYZ ( 43.67 , -79.63 ) ,
FLO ( 34.23 , -79.66 ) ,
GSO ( 36.05 , -79.98 ) ,
CHS ( 32.89 , -80.04 ) ,
PBI ( 26.68 , -80.09 ) ,
EKN ( 38.92 , -80.10 ) ,
EWC ( 40.83 , -80.21 ) ,
ERI ( 42.02 , -80.30 ) ,
MIA ( 25.80 , -80.30 ) ,
VRB ( 27.68 , -80.49 ) ,
PSK ( 37.09 , -80.71 ) ,
AIR ( 40.02 , -80.82 ) ,
CLT ( 35.22 , -80.93 ) ,
CAE ( 33.86 , -81.05 ) ,
YVV ( 44.75 , -81.10 ) ,
SAV ( 32.16 , -81.11 ) ,
OMN ( 29.30 , -81.11 ) ,
BKW ( 37.78 , -81.12 ) ,
ORL ( 28.54 , -81.34 ) ,
CRG ( 30.34 , -81.51 ) ,
EYW ( 24.59 , -81.80 ) ,
FMY ( 26.58 , -81.87 ) , // OBSOLETE
SPA ( 35.03 , -81.93 ) ,
HNN ( 38.75 , -82.03 ) ,
HMV ( 36.44 , -82.13 ) ,
CLE ( 41.42 , -81.85 ) ,
IRQ ( 33.71 , -82.16 ) ,
AMG ( 31.54 , -82.51 ) ,
SRQ ( 27.40 , -82.55 ) ,
APE ( 40.15 , -82.59 ) ,
PIE ( 27.91 , -82.68 ) ,
ECK ( 43.26 , -82.72 ) ,
CTY ( 29.60 , -83.05 ) ,
ODF ( 34.70 , -83.30 ) ,
DXO ( 42.21 , -83.37 ) ,
ASP ( 44.45 , -83.39 ) ,
MCN ( 32.69 , -83.65 ) ,
FNT ( 42.97 , -83.74 ) ,
VXV ( 35.90 , -83.89 ) ,
ROD ( 40.29 , -84.04 ) ,
MBS ( 43.53 , -84.08 ) ,
LOZ ( 37.03 , -84.12 ) ,
ABY ( 31.65 , -84.30 ) , // OBSOLETE
SSM ( 46.41 , -84.31 ) ,
TLH ( 30.56 , -84.37 ) ,
ATL ( 33.63 , -84.44 ) ,
CVG ( 39.02 , -84.70 ) ,
GQO ( 34.96 , -85.15 ) ,
FWA ( 40.98 , -85.19 ) ,
LGC ( 33.05 , -85.21 ) ,
GRR ( 42.79 , -85.50 ) ,
TVC ( 44.67 , -85.55 ) ,
LOU ( 38.10 , -85.58 ) , // OBSOLETE
MKG ( 43.17 , -86.04 ) ,
PMM ( 42.47 , -86.11 ) ,
GIJ ( 41.77 , -86.32 ) ,
MGM ( 32.22 , -86.32 ) ,
IND ( 39.81 , -86.37 ) ,
BWG ( 36.93 , -86.44 ) ,
BNA ( 36.14 , -86.68 ) ,
CEW ( 30.83 , -86.68 ) ,
VUZ ( 33.67 , -86.90 ) ,
BVT ( 40.56 , -87.07 ) ,
TTH ( 39.49 , -87.25 ) ,
MSL ( 34.70 , -87.48 ) ,
SAW ( 46.36 , -87.40 ) ,
PXV ( 37.93 , -87.76 ) ,
ORD ( 41.98 , -87.90 ) ,
GRB ( 44.56 , -88.19 ) ,
BAE ( 43.12 , -88.28 ) ,
JOT ( 41.55 , -88.32 ) ,
SJI ( 30.73 , -88.36 ) ,
IGB ( 33.48 , -88.52 ) ,
MEI ( 32.38 , -88.80 ) ,
DEC ( 39.74 , -88.86 ) ,
YQT ( 48.37 , -89.32 ) ,
DYR ( 36.02 , -89.32 ) ,
RHI ( 45.63 , -89.45 ) ,
BDF ( 41.16 , -89.59 ) ,
DLL ( 43.55 , -89.76 ) ,
MEM ( 35.06 , -89.98 ) ,
LEV ( 29.18 , -90.10 ) ,
JAN ( 32.51 , -90.17 ) ,
MSY ( 30.00 , -90.27 ) , // OBSOLETE
FAM ( 37.67 , -90.23 ) ,
MCB ( 31.30 , -90.26 ) ,
SQS ( 33.46 , -90.28 ) ,
STL ( 38.86 , -90.48 ) ,
DBQ ( 42.40 , -90.71 ) ,
ARG ( 36.11 , -90.95 ) ,
UIN ( 39.85 , -91.28 ) ,
BTR ( 30.48 , -91.30 ) ,
ODI ( 43.91 , -91.47 ) ,
EAU ( 44.90 , -91.48 ) ,
IOW ( 41.52 , -91.61 ) ,
MLU ( 32.52 , -92.03 ) ,
LIT ( 34.68 , -92.18 ) ,
DLH ( 46.80 , -92.20 ) ,
COU ( 38.82 , -92.22 ) ,
AEX ( 31.26 , -92.50 ) ,
IRK ( 40.14 , -92.59 ) ,
ELD ( 33.26 , -92.74 ) ,
LCH ( 30.14 , -93.11 ) ,
MSP ( 44.88 , -93.23 ) ,
MCW ( 43.09 , -93.33 ) ,
SGF ( 37.36 , -93.33 ) ,
INL ( 48.57 , -93.40 ) ,
DSM ( 41.44 , -93.65 ) ,
EIC ( 32.77 , -93.81 ) ,
BRD ( 46.35 , -94.03 ) ,
TXK ( 33.51 , -94.07 ) ,
RZC ( 36.25 , -94.12 ) ,
FSM ( 35.38 , -94.27 ) ,
FOD ( 42.61 , -94.29 ) ,
BUM ( 38.27 , -94.49 ) ,
MKC ( 39.28 , -94.59 ) , // OBSOLETE
LFK ( 31.16 , -94.72 ) ,
GGG ( 32.42 , -94.75 ) ,
BJI ( 47.58 , -95.02 ) ,
RWF ( 44.47 , -95.13 ) ,
OSW ( 37.15 , -95.20 ) ,
IAH ( 29.96 , -95.35 ) ,
OVR ( 41.17 , -95.74 ) ,
MLC ( 34.85 , -95.78 ) ,
TUL ( 36.20 , -95.79 ) ,
PWE ( 40.20 , -96.21 ) ,
PSX ( 28.76 , -96.31 ) ,
FSD ( 43.65 , -96.78 ) ,
FAR ( 46.75 , -96.85 ) ,
DFW ( 32.87 , -97.03 ) , // OBSOLETE
ADM ( 34.21 , -97.17 ) ,
GFK ( 47.95 , -97.19 ) ,
YWG ( 49.90 , -97.23 ) ,
ACT ( 31.66 , -97.27 ) ,
BRO ( 25.92 , -97.38 ) ,
CRP ( 27.90 , -97.45 ) ,
ICT ( 37.75 , -97.58 ) ,
OKC ( 35.36 , -97.61 ) ,
SLN ( 38.93 , -97.62 ) ,
AUS ( 30.30 , -97.70 ) , // OBSOLETE
END ( 36.35 , -97.92 ) ,
OBH ( 41.38 , -98.35 ) ,
ABR ( 45.42 , -98.37 ) ,
SAT ( 29.64 , -98.46 ) ,
SPS ( 33.99 , -98.59 ) ,
ONL ( 42.47 , -98.69 ) ,
LRD ( 27.48 , -99.42 ) ,
JCT ( 30.60 , -99.82 ) ,
ABI ( 32.48 , -99.86 ) ,
GAG ( 36.34 , -99.88 ) ,
ANW ( 42.57 , -99.99 ) ,
PIR ( 44.40 , -100.17 ) ,
HLC ( 39.26 , -100.23 ) ,
CDS ( 34.37 , -100.28 ) ,
SJT ( 31.38 , -100.46 ) ,
MCK ( 40.20 , -100.59 ) ,
BIS ( 46.77 , -100.67 ) ,
LBF ( 41.13 , -100.72 ) ,
GCK ( 37.92 , -100.73 ) ,
DLF ( 29.36 , -100.77 ) ,
LBL ( 37.04 , -100.97 ) ,
MOT ( 48.26 , -101.29 ) ,
AMA ( 35.29 , -101.64 ) ,
GLD ( 39.39 , -101.69 ) ,
DPR ( 45.08 , -101.72 ) ,
LBB ( 33.70 , -101.92 ) ,
MAF ( 32.02 , -102.18 ) ,
LAA ( 38.20 , -102.69 ) ,
DIK ( 46.86 , -102.77 ) ,
TXO ( 34.50 , -102.84 ) ,
SNY ( 41.10 , -102.98 ) ,
FST ( 30.95 , -102.98 ) ,
RAP ( 43.98 , -103.01 ) ,
AKO ( 40.16 , -103.18 ) ,
INK ( 31.87 , -103.24 ) ,
BFF ( 41.89 , -103.48 ) ,
TBE ( 37.27 , -103.60 ) ,
TCC ( 35.18 , -103.60 ) ,
ISN ( 48.18 , -103.63 ) ,
MRF ( 30.30 , -103.95 ) ,
PUB ( 38.29 , -104.43 ) ,
ROW ( 33.34 , -104.62 ) , // OBSOLETE
DEN ( 39.81 , -104.66 ) ,
CYS ( 41.21 , -104.77 ) ,
CIM ( 36.49 , -104.87 ) ,
LVS ( 35.66 , -105.14 ) , // OBSOLETE
LAR ( 41.33 , -105.72 ) ,
ALS ( 37.35 , -105.82 ) ,
MLS ( 46.38 , -105.95 ) ,
DDY ( 43.09 , -106.28 ) ,
ELP ( 31.82 , -106.28 ) ,
CZI ( 44.00 , -106.44 ) ,
GGW ( 48.22 , -106.63 ) ,
ABQ ( 35.04 , -106.82 ) ,
DBL ( 39.44 , -106.90 ) ,
HBU ( 38.45 , -107.04 ) ,
SHR ( 44.84 , -107.06 ) ,
TCS ( 33.28 , -107.28 ) ,
CHE ( 40.52 , -107.31 ) ,
DMN ( 32.28 , -107.60 ) ,
YYN ( 50.28 , -107.68 ) ,
FMN ( 36.75 , -108.10 ) , // OBSOLETE
BOY ( 43.46 , -108.30 ) ,
BIL ( 45.81 , -108.63 ) ,
JNC ( 39.06 , -108.79 ) ,
DVC ( 37.81 , -108.93 ) ,
OCS ( 41.59 , -109.02 ) ,
SJN ( 34.42 , -109.14 ) ,
SSO ( 32.27 , -109.26 ) ,
LWT ( 47.05 , -109.61 ) ,
HVR ( 48.54 , -109.77 ) ,
BPI ( 42.58 , -110.11 ) ,
MTU ( 40.15 , -110.13 ) ,
HVE ( 38.42 , -110.70 ) ,
YXH ( 50.02 , -110.72 ) ,
JAC ( 43.62 , -110.73 ) ,
INW ( 35.06 , -110.80 ) ,
TUS ( 32.10 , -110.92 ) ,
TBC ( 36.12 , -111.27 ) ,
GTF ( 47.45 , -111.41 ) ,
HLN ( 46.61 , -111.95 ) ,
PHX ( 33.43 , -112.02 ) ,
SLC ( 40.85 , -111.98 ) ,
DBS ( 44.09 , -112.21 ) ,
BCE ( 37.69 , -112.30 ) ,
MLD ( 42.20 , -112.45 ) ,
DRK ( 34.70 , -112.48 ) ,
DTA ( 39.30 , -112.51 ) ,
DLN ( 45.25 , -112.55 ) ,
PIH ( 42.87 , -112.65 ) ,
YQL ( 49.63 , -112.80 ) ,
PGS ( 35.62 , -113.54 ) ,
BVL ( 40.73 , -113.76 ) ,
LKT ( 45.02 , -114.08 ) ,
FCA ( 48.21 , -114.18 ) ,
ILC ( 38.25 , -114.39 ) ,
EED ( 34.77 , -114.47 ) ,
TWF ( 42.48 , -114.49 ) ,
BZA ( 32.77 , -114.60 ) ,
ELY ( 39.30 , -114.85 ) ,
LAS ( 36.08 , -115.16 ) ,
MLP ( 47.46 , -115.65 ) ,
YXC ( 49.60 , -115.78 ) ,
TRM ( 33.63 , -116.16 ) ,
BOI ( 43.55 , -116.19 ) ,
DNJ ( 44.77 , -116.21 ) ,
HEC ( 34.80 , -116.46 ) ,
BTY ( 36.80 , -116.75 ) ,
BAM ( 40.57 , -116.92 ) ,
MZB ( 32.78 , -117.23 ) ,
GEG ( 47.56 , -117.63 ) ,
OAL ( 38.00 , -117.77 ) ,
BKE ( 44.84 , -117.81 ) ,
REO ( 42.59 , -117.87 ) ,
LAX ( 33.93 , -118.43 ) ,
PDT ( 45.70 , -118.94 ) ,
EHF ( 35.48 , -119.10 ) ,
EPH ( 47.38 , -119.42 ) ,
FMG ( 39.53 , -119.66 ) ,
RZS ( 34.51 , -119.77 ) ,
CZQ ( 36.88 , -119.82 ) ,
YKM ( 46.57 , -120.45 ) ,
LKV ( 42.49 , -120.51 ) ,
YDC ( 49.47 , -120.52 ) ,
MOD ( 37.63 , -120.96 ) ,
DSD ( 44.25 , -121.30 ) ,
SAC ( 38.44 , -121.55 ) ,
SNS ( 36.66 , -121.60 ) ,
OAK ( 37.73 , -122.22 ) ,
RBL ( 40.10 , -122.24 ) ,
SEA ( 47.44 , -122.31 ) ,
BLI ( 48.95 , -122.58 ) , // OBSOLETE
PDX ( 45.58 , -122.60 ) ,
PYE ( 38.08 , -122.87 ) ,
OED ( 42.48 , -122.91 ) ,
EUG ( 44.12 , -123.22 ) ,
ENI ( 39.05 , -123.27 ) ,
ONP ( 44.58 , -124.06 ) ,
HQM ( 46.95 , -124.15 ) ,
FOT ( 40.67 , -124.23 ) ,
TOU ( 48.30 , -124.63 ) ,
YQV ( 51.27 , -102.47 ) ,
ANN ( 55.05 , -131.57 ) ,
LVD ( 56.47 , -133.08 ) ,
BKA ( 56.86 , -135.55 ) ,
SSR ( 58.17 , -135.25 ) ,
JNU ( 58.35 , -134.58 ) ,
YAK ( 59.50 , -139.67 ) ,
MDO ( 59.45 , -146.30 ) ,
JOH ( 60.48 , -146.60 ) ,
ODK ( 57.75 , -152.50 ) ,
HOM ( 59.65 , -151.48 ) ,
ENA ( 60.57 , -151.25 ) ,
ANC ( 61.17 , -150.00 ) ,
BGQ ( 61.53 , -149.82 ) ,
ORT ( 62.97 , -141.93 ) ,
GKN ( 62.15 , -145.45 ) ,
TKA ( 62.32 , -150.10 ) ,
SQA ( 61.10 , -155.63 ) ,
DLG ( 59.05 , -158.50 ) ,
AKN ( 58.68 , -156.65 ) ,
PDN ( 56.95 , -158.65 ) ,
CDB ( 55.20 , -162.73 ) ,
DUT ( 53.90 , -166.55 ) ,
NUD ( 51.88 , -176.65 ) ,
SYA ( 52.72 , -174.12 ) ,
SPY ( 57.17 , -170.22 ) ,
EHM ( 58.66 , -162.07 ) ,
HPB ( 61.52 , -166.14 ) ,
BET ( 60.78 , -161.83 ) ,
ANI ( 61.59 , -159.61 ) ,
SMA ( 62.06 , -163.30 ) ,
UNK ( 63.88 , -160.80 ) ,
ULL ( 63.70 , -170.48 ) ,
MCG ( 62.95 , -155.60 ) ,
ENN ( 64.55 , -149.07 ) ,
FAI ( 64.82 , -147.85 ) ,
BIG ( 64.00 , -145.72 ) ,
FYU ( 66.57 , -145.25 ) ,
BTT ( 66.92 , -151.53 ) ,
TAL ( 65.18 , -152.18 ) ,
CQR ( 67.50 , -148.47 ) ,
SCC ( 70.20 , -148.47 ) ,
BTI ( 70.13 , -143.57 ) ,
BRW ( 71.28 , -156.77 ) ,
GAL ( 64.73 , -156.93 ) ,
OME ( 64.52 , -165.45 ) ,
OTZ ( 66.88 , -162.60 ) ,
WLK ( 66.60 , -160.00 ) ,
HSL ( 65.71 , -156.37 ) ,
BSF ( 19.76 , -155.39 ) ,
UPP ( 20.20 , -155.84 ) ,
ITO ( 19.72 , -155.01 ) ,
HNL ( 21.33 , -157.93 ) ,
OGG ( 20.91 , -156.42 ) ,
NDB ( 20.88 , -156.44 ) ,
MUE ( 20.00 , -155.67 ) ,
NGF ( 21.45 , -157.76 ) ,
MKK ( 21.14 , -157.17 ) ,
NBS ( 22.04 , -159.79 ) ,
CKH ( 21.27 , -157.70 ) ,
IAI ( 19.65 , -156.02 ) ,
LLD ( 20.77 , -156.97 ) ,
LNY ( 20.76 , -156.97 ) ,
LIH ( 21.97 , -159.34 ) ,
SOK ( 21.90 , -159.53 ) ,
//
// Newcomers! These are in the set of VORs now used by AWC for Convective SIGMET bounds,
// but not in (out-of-the-box V5.11.4) $GEMTBL/stns/vors.tbl :
//
RSW ( 26.53 , -81.78 ) , // Lee County VORTAC Fort Myers FL L-VORTAC !? replaces FMY
PZD ( 31.66 , -84.29 ) , // Pecan VORTAC Albany GA H-VORTACW replaces ABY
IIU ( 38.10 , -85.58 ) , // Louisville VORTAC Louisville KY H-VORTAC replaces LOU
HRV ( 29.85 , -90.00 ) , // Harvey VORTAC New Orleans LA H-VORTACW replaces MSY
MCI ( 39.29 , -94.74 ) , // Kansas City VORTAC Kansas City MO H-VORTAC replaces MKC
TTT ( 32.87 , -97.04 ) , // Maverick VOR/DME Dallas-Fort Worth TX H-VORW/DME replaces DFW
CWK ( 30.38 , -97.53 ) , // Centex VORTAC Austin TX H-VORTACW replaces AUS
CME ( 33.34 , -104.62 ) , // Chisum VORTAC Roswell NM H-VORTACW replaces ROW
FTI ( 35.66 , -105.14 ) , // Fort Union VORTAC Las Vegas NM H-VORTACW replaces LVS
RSK ( 36.75 , -108.10 ) , // Rattlesnake VORTAC Farmington NM H-VORTACW replaces FMN
HUH ( 48.95 , -122.58 ) ; // Whatcom VORTAC Bellingham WA H-VORTACW replaces BLI
private static Log logger = LogFactory.getLog(VOR.class);
private double latitude;
private double longitude;
private VOR (double latitude, double longitude)
{
this.latitude = latitude;
this.longitude = longitude;
}
public double getLatitude()
{
return latitude;
}
public double getLongitude()
{
return longitude;
}
public LatLonPoint getLatLonPoint()
{
return new LatLonPoint (latitude, longitude, LatLonPoint.INDEGREES);
}
private enum Direction {
N, NNE, NE, ENE, E, ESE, SE, SSE, S, SSW, SW, WSW, W, WNW, NW, NNW;
public double getDegrees() { return ordinal() * 22.5; }
}
private static final double ONE_NM_RADIANS = Math.toRadians (1.0 / 60.0);
/**
* Given a VOR-relative reference string, returns a LatLonPoint
* (com.raytheon.uf.edex.decodertools.core.LatLonPoint).
*
* @param location A String such as...
* "BOS"
* "20S EMI"
* "30 WNW BUM"
* " 40ENE HUH "
* ...referencing a VOR listed in AC 00-45F
* (Appendix F), optionally preceded by
* distance in nautical miles and 16-point
* compass direction string.
* @return The decoded location as a LatLonPoint;
* null on error (such as unrecognized VOR
* identifier or direction string).
*
*/
public static LatLonPoint getLatLonPoint(String location) {
// Wrap decoding in a try block, in case of exception on
// one ofthe two enum valueOf lookups, or other problems.
try {
location = location.trim();
// VOR is always last 3 nonblank char of location
String navaid = location.substring(location.length()-3);
LatLonPoint point = VOR.valueOf(navaid).getLatLonPoint();
// If there's an offset direction/bearing, process it
if (location.length() > 3) {
String u = location.substring(0, location.length()-3);
Pattern p = Pattern.compile("^([0-9]+)\\s*([A-Z]+)");
Matcher m = p.matcher(u);
if (m.find()) {
String distanceStr = m.group(1);
String bearingStr = m.group(2);
int distanceNM = Integer.parseInt(distanceStr);
double distanceRad = distanceNM * ONE_NM_RADIANS;
// LatLonPoint.positionOf thinks bearing is CCW, not CW...
double bearingDeg = 360.0 - Direction.valueOf(bearingStr).getDegrees();
double bearingRad = Math.toRadians(bearingDeg);
point = point.positionOf(bearingRad, distanceRad);
}
}
return point;
}
catch (Exception e) {
logger.error("[Error decoding location: " + location + "]");
return null;
}
}
}

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>ATCF</inventoryName>
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="reportType">
<constraint constraintValue="ATCF" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="atcf" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>AVNMOS</inventoryName>
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="bufrmosAVN" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>AWW</inventoryName>
<inventoryParameters>pluginName,reportType,dataTime</inventoryParameters>
<baseConstraints>
<!-- <mapping key="reportType">
<constraint constraintValue="SEVERE_THUNDERSTORM_WATCH,TORNADO_WATCH_OUTLINE_UPDATE" constraintType="IN"/>
</mapping>
--> <mapping key="pluginName">
<constraint constraintValue="aww" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>ENS_CYC</inventoryName>
<!-- TODO : add model when it is added as a request constraint. Til then the
times may be incorrect for some of the models -->
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="reportType">
<constraint constraintValue="ENSCYC" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="stormtrack" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>ETAMOS</inventoryName>
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="bufrmosETA" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GFSMOS</inventoryName>
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="bufrmosGFS" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GFSXMOS</inventoryName>
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="bufrmosMRF" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GINI</inventoryName>
<inventoryParameters>pluginName,creatingEntity,sectorID,physicalElement,dataTime</inventoryParameters>
<baseConstraints>
<!-- <mapping key="creatingEntity">
<constraint constraintValue="Composite" constraintType="EQUALS"/>
</mapping>
--> <mapping key="pluginName">
<constraint constraintValue="satellite" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>HPCMOS</inventoryName>
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="bufrmosHPC" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>IDFT</inventoryName>
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="reportType">
<constraint constraintValue="idft" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="idft" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>LAMPMOS</inventoryName>
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="bufrmosLAMP" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>McIdas</inventoryName>
<inventoryParameters>pluginName,satelliteName,areaName,resolution,imageType,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="mcidas" constraintType="EQUALS"/>
</mapping>
<!-- <mapping key="satelliteName">
<constraint constraintValue="Global" constraintType="EQUALS"/>
</mapping>
--> </baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>ModelSounding</inventoryName>
<inventoryParameters>pluginName,reportType,dataTime</inventoryParameters>
<baseConstraints>
<!-- <mapping key="reportType">
<constraint constraintValue="ETA" constraintType="EQUALS"/>
</mapping>
--> <mapping key="pluginName">
<constraint constraintValue="modelsounding" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>NatlMosaic</inventoryName>
<inventoryParameters>pluginName,productCode,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="mosaic" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>NcScat</inventoryName>
<inventoryParameters>pluginName,reportType,dataTime</inventoryParameters>
<baseConstraints>
<!-- <mapping key="reportType">
<constraint constraintValue="Exasct" constraintType="EQUALS"/>
</mapping>
--> <mapping key="pluginName">
<constraint constraintValue="ncscat" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,4 +0,0 @@
This directory contains Inventory Definitions to match current ResourceDefinitions that have
been changed to not query the inventory. (inventoryEnabled=false)
If for some reason we need to enable one of these then move this back up to the NcInventoryDefinitions
directory.

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>AIREP</inventoryName>
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="reportType">
<constraint constraintValue="AIREP" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="ncairep" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>AIRMET</inventoryName>
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="reportType">
<constraint constraintValue="airmet" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="airmet" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>ASCT</inventoryName>
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="reportType">
<constraint constraintValue="ascat%" constraintType="LIKE"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="ncscat" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>CSIG</inventoryName>
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="reportType">
<constraint constraintValue="convsigmet" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="convsigmet" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>EXASCT</inventoryName>
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="reportType">
<constraint constraintValue="Exasct%" constraintType="LIKE"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="ncscat" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>FFA</inventoryName>
<inventoryParameters>pluginName,reportType,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="reportType">
<constraint constraintValue="FLASH_FLOOD_ADVISORY,FLASH_FLOOD_WARNING,FLASH_FLOOD_WATCH,FLASH_FLOOD_STATEMENT,FLOOD_WATCH" constraintType="IN"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="aww" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>FFG</inventoryName>
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="reportType">
<constraint constraintValue="FFG" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="ffg" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>FYC</inventoryName>
<inventoryParameters>pluginName,areaName,resolution,imageType,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="mcidas" constraintType="EQUALS"/>
</mapping>
<mapping key="satelliteName">
<constraint constraintValue="FYC" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GINI_DMSP</inventoryName>
<inventoryParameters>pluginName,sectorID,physicalElement,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="creatingEntity">
<constraint constraintValue="DMSP" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="satellite" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GINI_ERS-QuickSCAT-Scatterometer</inventoryName>
<inventoryParameters>pluginName,sectorID,physicalElement,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="creatingEntity">
<constraint constraintValue="ERS-QuickSCAT-Scatterometer" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="satellite" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GINI_GMS</inventoryName>
<inventoryParameters>pluginName,sectorID,physicalElement,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="creatingEntity">
<constraint constraintValue="GMS" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="satellite" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GINI_GOES10</inventoryName>
<inventoryParameters>pluginName,sectorID,physicalElement,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="creatingEntity">
<constraint constraintValue="GOES-10(K)" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="satellite" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GINI_GOES7</inventoryName>
<inventoryParameters>pluginName,sectorID,physicalElement,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="creatingEntity">
<constraint constraintValue="GOES-7(H)" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="satellite" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GINI_GOES8</inventoryName>
<inventoryParameters>pluginName,sectorID,physicalElement,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="creatingEntity">
<constraint constraintValue="GOES-8(I)" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="satellite" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GINI_GOES9</inventoryName>
<inventoryParameters>pluginName,sectorID,physicalElement,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="creatingEntity">
<constraint constraintValue="GOES-9(J)" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="satellite" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GINI_JERS</inventoryName>
<inventoryParameters>pluginName,sectorID,physicalElement,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="creatingEntity">
<constraint constraintValue="JERS" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="satellite" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GINI_METEOSTAT</inventoryName>
<inventoryParameters>pluginName,sectorID,physicalElement,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="creatingEntity">
<constraint constraintValue="METEOSAT" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="satellite" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GINI_NOAA16</inventoryName>
<inventoryParameters>pluginName,sectorID,physicalElement,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="creatingEntity">
<constraint constraintValue="NOAA16" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="satellite" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GINI_NOAA17</inventoryName>
<inventoryParameters>pluginName,sectorID,physicalElement,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="creatingEntity">
<constraint constraintValue="NOAA17" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="satellite" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GINI_NOAA18</inventoryName>
<inventoryParameters>pluginName,sectorID,physicalElement,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="creatingEntity">
<constraint constraintValue="NOAA18" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="satellite" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GINI_NOAA19</inventoryName>
<inventoryParameters>pluginName,sectorID,physicalElement,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="creatingEntity">
<constraint constraintValue="NOAA19" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="satellite" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GMS</inventoryName>
<inventoryParameters>pluginName,areaName,resolution,imageType,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="mcidas" constraintType="EQUALS"/>
</mapping>
<mapping key="satelliteName">
<constraint constraintValue="GMS" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GOES10</inventoryName>
<inventoryParameters>pluginName,areaName,resolution,imageType,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="mcidas" constraintType="EQUALS"/>
</mapping>
<mapping key="satelliteName">
<constraint constraintValue="GOES10" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GOES11</inventoryName>
<inventoryParameters>pluginName,areaName,resolution,imageType,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="mcidas" constraintType="EQUALS"/>
</mapping>
<mapping key="satelliteName">
<constraint constraintValue="GOES11" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GOES12</inventoryName>
<inventoryParameters>pluginName,areaName,resolution,imageType,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="mcidas" constraintType="EQUALS"/>
</mapping>
<mapping key="satelliteName">
<constraint constraintValue="GOES12" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GOES6</inventoryName>
<inventoryParameters>pluginName,areaName,resolution,imageType,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="mcidas" constraintType="EQUALS"/>
</mapping>
<mapping key="satelliteName">
<constraint constraintValue="GOES6" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GOES7</inventoryName>
<inventoryParameters>pluginName,areaName,resolution,imageType,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="mcidas" constraintType="EQUALS"/>
</mapping>
<mapping key="satelliteName">
<constraint constraintValue="GOES7" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GOES8</inventoryName>
<inventoryParameters>pluginName,areaName,resolution,imageType,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="mcidas" constraintType="EQUALS"/>
</mapping>
<mapping key="satelliteName">
<constraint constraintValue="GOES8" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>GOES9</inventoryName>
<inventoryParameters>pluginName,areaName,resolution,imageType,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="mcidas" constraintType="EQUALS"/>
</mapping>
<mapping key="satelliteName">
<constraint constraintValue="GOES9" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>HRCN</inventoryName>
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="reportType">
<constraint constraintValue="TCM" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="tcm" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>IDFT</inventoryName>
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="reportType">
<constraint constraintValue="idft" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="idft" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>ISIG</inventoryName>
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="reportType">
<constraint constraintValue="intlsigmet" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="intlsigmet" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>LTNG</inventoryName>
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="binlightning" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>LTNG2</inventoryName>
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="binlightning" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>METAR</inventoryName>
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="reportType">
<constraint constraintValue="METAR" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="obs" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>METEOSAT10</inventoryName>
<inventoryParameters>pluginName,areaName,resolution,imageType,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="mcidas" constraintType="EQUALS"/>
</mapping>
<mapping key="satelliteName">
<constraint constraintValue="METEOSAT10" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>METEOSAT3</inventoryName>
<inventoryParameters>pluginName,areaName,resolution,imageType,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="mcidas" constraintType="EQUALS"/>
</mapping>
<mapping key="satelliteName">
<constraint constraintValue="METEOSAT3" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>METEOSAT5</inventoryName>
<inventoryParameters>pluginName,areaName,resolution,imageType,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="mcidas" constraintType="EQUALS"/>
</mapping>
<mapping key="satelliteName">
<constraint constraintValue="METEOSAT5" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>METEOSAT6</inventoryName>
<inventoryParameters>pluginName,areaName,resolution,imageType,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="mcidas" constraintType="EQUALS"/>
</mapping>
<mapping key="satelliteName">
<constraint constraintValue="METEOSAT6" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>METEOSAT7</inventoryName>
<inventoryParameters>pluginName,areaName,resolution,imageType,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="mcidas" constraintType="EQUALS"/>
</mapping>
<mapping key="satelliteName">
<constraint constraintValue="METEOSAT7" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>METEOSAT8</inventoryName>
<inventoryParameters>pluginName,areaName,resolution,imageType,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="mcidas" constraintType="EQUALS"/>
</mapping>
<mapping key="satelliteName">
<constraint constraintValue="METEOSAT8" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>MTS</inventoryName>
<inventoryParameters>pluginName,areaName,resolution,imageType,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="pluginName">
<constraint constraintValue="mcidas" constraintType="EQUALS"/>
</mapping>
<mapping key="satelliteName">
<constraint constraintValue="MTS" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>NCON</inventoryName>
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="reportType">
<constraint constraintValue="nonconvsigmet" constraintType="EQUALS"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="nonconvsigmet" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

View file

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<NcInventoryDefinition xmlns:ns2="group" xmlns:ns3="http://www.example.org/productType">
<inventoryName>OSCT</inventoryName>
<inventoryParameters>pluginName,dataTime</inventoryParameters>
<baseConstraints>
<mapping key="reportType">
<constraint constraintValue="oscat%" constraintType="LIKE"/>
</mapping>
<mapping key="pluginName">
<constraint constraintValue="ncscat" constraintType="EQUALS"/>
</mapping>
</baseConstraints>
</NcInventoryDefinition>

Some files were not shown because too many files have changed in this diff Show more