Merge branch 'ncep_14.3.1' of ssh://collaborate3.nws.noaa.gov:29418/AWIPS2_Dev_Baseline into master_14.3.1
Former-commit-id:9c33ae6d2c
[formerly e895f7927a95c2416c05953e131d9e0c6095beb3] Former-commit-id:6ad8d500ef
This commit is contained in:
commit
9fc3eb20c1
537 changed files with 66271 additions and 48751 deletions
|
@ -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"
|
||||
|
|
158
deltaScripts/14.2.1-n3/addNcepNwxAdminMessageGpTable.sql
Normal file
158
deltaScripts/14.2.1-n3/addNcepNwxAdminMessageGpTable.sql
Normal 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');
|
||||
|
5
deltaScripts/14.2.1-n3/updateNcepNwxAdminTables.sh
Normal file
5
deltaScripts/14.2.1-n3/updateNcepNwxAdminTables.sh
Normal file
|
@ -0,0 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
PSQL=/awips2/psql/bin/psql
|
||||
DIR=`dirname $0`
|
||||
${PSQL} -U awips -d ncep -f ${DIR}/addNcepNwxAdminMessageGpTable.sql
|
|
@ -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;
|
||||
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
\.
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
@ -1445,6 +1455,17 @@
|
|||
<id>112</id>
|
||||
</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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -41,7 +41,7 @@ return query.execute()'''
|
|||
|
||||
if not ch.isGoodStatus():
|
||||
print ch.formatResponse()
|
||||
exit(1)
|
||||
exit(1)
|
||||
|
||||
return self.__generateMap( ch.getContents() )
|
||||
|
||||
|
@ -147,19 +147,19 @@ query.addReturnedField("dataTime.refTime")
|
|||
return query.execute()'''.format(atype,label)
|
||||
|
||||
|
||||
service = '/services/pyproductjaxb'
|
||||
host = os.getenv("DEFAULT_HOST", "localhost")
|
||||
port = os.getenv("DEFAULT_PORT", "9581")
|
||||
connection=str(host+":"+port)
|
||||
ch = CH.CommHandler(connection,service)
|
||||
ch.process(script)
|
||||
service = '/services/pyproductjaxb'
|
||||
host = os.getenv("DEFAULT_HOST", "localhost")
|
||||
port = os.getenv("DEFAULT_PORT", "9581")
|
||||
connection=str(host+":"+port)
|
||||
ch = CH.CommHandler(connection,service)
|
||||
ch.process(script)
|
||||
|
||||
if not ch.isGoodStatus():
|
||||
if not ch.isGoodStatus():
|
||||
print ch.formatResponse()
|
||||
exit(1)
|
||||
|
||||
logger.debug( ch.getContents() )
|
||||
return __parseResponse( ch.getContents() )
|
||||
logger.debug( ch.getContents() )
|
||||
return __parseResponse( ch.getContents() )
|
||||
|
||||
#
|
||||
# Parses the XML response from the uEngine and extracts
|
||||
|
|
|
@ -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")) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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 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 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 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_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 {
|
||||
|
@ -171,8 +281,9 @@ public class NcUairToPointData {
|
|||
}
|
||||
|
||||
public PluginDataObject[] toPointData(PluginDataObject[] pdo) {
|
||||
//long curTime = System.currentTimeMillis();
|
||||
//System.out.println("H5 uair toPointData entered, pdo size = "+ pdo.length);
|
||||
// long curTime = System.currentTimeMillis();
|
||||
// System.out.println("H5 uair toPointData entered, pdo size = "+
|
||||
// pdo.length);
|
||||
if (pdo.length > 0) {
|
||||
Map<File, PointDataContainer> pointMap = new HashMap<File, PointDataContainer>();
|
||||
|
||||
|
@ -181,7 +292,7 @@ public class NcUairToPointData {
|
|||
continue;
|
||||
File f = this.dao.getFullFilePath(p);
|
||||
PointDataContainer pdc = pointMap.get(f);
|
||||
|
||||
|
||||
if (pdc == null) {
|
||||
pdc = PointDataContainer.build(this.pdd);
|
||||
pointMap.put(f, pdc);
|
||||
|
@ -189,310 +300,389 @@ public class NcUairToPointData {
|
|||
NcUairRecord mr = (NcUairRecord) p;
|
||||
PointDataView pdv = buildView(pdc, mr);
|
||||
mr.setPointDataView(pdv);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
//long enqueueTime = System.currentTimeMillis();
|
||||
//double latency = (enqueueTime-curTime) ;
|
||||
//System.out.println("H5 uair toPointData spend "+ latency);
|
||||
// long enqueueTime = System.currentTimeMillis();
|
||||
// double latency = (enqueueTime-curTime) ;
|
||||
// System.out.println("H5 uair toPointData spend "+ latency);
|
||||
return pdo;
|
||||
}
|
||||
|
||||
|
||||
private PointDataView buildView(PointDataContainer container,
|
||||
NcUairRecord record) {
|
||||
|
||||
PointDataView pdv = container.append();
|
||||
pdv.setString(STATION_ID, record.getStationId());
|
||||
|
||||
|
||||
int maxManLevel = -1;
|
||||
int maxSigTempLevel = -1;
|
||||
int maxSigWindLevel = -1;
|
||||
int maxWmaxLevel = -1;
|
||||
int maxTropLevel = -1;
|
||||
int maxMiscLevel = -1;
|
||||
|
||||
Dimension [] dims = pdd.dimensions;
|
||||
for(Dimension d : dims) {
|
||||
|
||||
if("maxManLevel".equals(d.getDimensionName())) {
|
||||
Dimension[] dims = pdd.dimensions;
|
||||
for (Dimension d : dims) {
|
||||
|
||||
if ("maxManLevel".equals(d.getDimensionName())) {
|
||||
maxManLevel = d.getDimensionLength();
|
||||
}
|
||||
|
||||
if("maxSigTempLevel".equals(d.getDimensionName())) {
|
||||
|
||||
if ("maxSigTempLevel".equals(d.getDimensionName())) {
|
||||
maxSigTempLevel = d.getDimensionLength();
|
||||
}
|
||||
|
||||
if("maxSigWindLevel".equals(d.getDimensionName())) {
|
||||
|
||||
if ("maxSigWindLevel".equals(d.getDimensionName())) {
|
||||
maxSigWindLevel = d.getDimensionLength();
|
||||
}
|
||||
|
||||
if("maxWmaxLevel".equals(d.getDimensionName())) {
|
||||
|
||||
if ("maxWmaxLevel".equals(d.getDimensionName())) {
|
||||
maxWmaxLevel = d.getDimensionLength();
|
||||
}
|
||||
|
||||
if("maxTropLevel".equals(d.getDimensionName())) {
|
||||
|
||||
if ("maxTropLevel".equals(d.getDimensionName())) {
|
||||
maxTropLevel = d.getDimensionLength();
|
||||
}
|
||||
|
||||
if("maxMiscLevel".equals(d.getDimensionName())) {
|
||||
|
||||
if ("maxMiscLevel".equals(d.getDimensionName())) {
|
||||
maxMiscLevel = d.getDimensionLength();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (record.getCorr() != null) {
|
||||
pdv.setString(CORRECTION_INDICATOR,record.getCorr());
|
||||
pdv.setString(CORRECTION_INDICATOR, record.getCorr());
|
||||
} else {
|
||||
pdv.setString(CORRECTION_INDICATOR, "");
|
||||
}
|
||||
|
||||
if (record.getLocation()!=null) {
|
||||
pdv.setFloat(LATITUDE, (float) record.getLatitude());
|
||||
pdv.setFloat(LONGITUDE, (float) record.getLongitude());
|
||||
if(record.getElevation()!=null)
|
||||
pdv.setFloat(ELEVATION, (float) record.getElevation());
|
||||
if (record.getLocation() != null) {
|
||||
pdv.setFloat(LATITUDE, (float) record.getLatitude());
|
||||
pdv.setFloat(LONGITUDE, (float) record.getLongitude());
|
||||
if (record.getElevation() != null)
|
||||
pdv.setFloat(ELEVATION, (float) record.getElevation());
|
||||
}
|
||||
if(record.getObsTime()!=null)
|
||||
pdv.setLong(OBS_TIME, record.getObsTime().getTime().getTime());
|
||||
if(record.getSynopticTime()!=null)
|
||||
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());
|
||||
pdv.setString(DATA_TYPE, record.getDataType());
|
||||
if (record.getObsTime() != null)
|
||||
pdv.setLong(OBS_TIME, record.getObsTime().getTime().getTime());
|
||||
if (record.getSynopticTime() != null)
|
||||
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());
|
||||
pdv.setString(DATA_TYPE, record.getDataType());
|
||||
pdv.setString(REPORT_TYPE, record.getReportType());
|
||||
pdv.setString(WMO_HEADER, record.getWmoHeader());
|
||||
pdv.setString(STATION_NUMBER, record.getStnum());
|
||||
if(record.getNil()!=null)
|
||||
pdv.setString(NIL, record.getNil().toString());
|
||||
if (record.getNil() != null)
|
||||
pdv.setString(NIL, record.getNil().toString());
|
||||
pdv.setInt(UTC, record.getUTC());
|
||||
pdv.setString(RAW_DATA, record.getBullMessage());
|
||||
int index;
|
||||
|
||||
if ( record.getObsLevels() != null ) {
|
||||
|
||||
if (record.getObsLevels() != null) {
|
||||
Iterator<NcUairObsLevels> sls = record.getObsLevels().iterator();
|
||||
switch ( REPORTTYPE.valueOf(record.getDataType()) ) {
|
||||
|
||||
switch (REPORTTYPE.valueOf(record.getDataType())) {
|
||||
|
||||
case TTAA:
|
||||
case UUAA:
|
||||
case XXAA:
|
||||
|
||||
index = 0;
|
||||
if (sls !=null ) {
|
||||
while (sls.hasNext()) {
|
||||
NcUairObsLevels sl = sls.next();
|
||||
if ( sl.getPres() > 0 && index < maxManLevel ) {
|
||||
pdv.setFloat(TTAA_PRES, sl.getPres(), index);
|
||||
pdv.setFloat(TTAA_HGHT, sl.getHght(), index);
|
||||
pdv.setFloat(TTAA_TEMP, sl.getTemp(), index);
|
||||
pdv.setFloat(TTAA_DWPT, sl.getDwpt(), index);
|
||||
pdv.setFloat(TTAA_DRCT, sl.getDrct(), index);
|
||||
pdv.setFloat(TTAA_SPED, sl.getSped(), index);
|
||||
index++;
|
||||
}
|
||||
}
|
||||
pdv.setInt("numTTAA", index);
|
||||
if (sls != null) {
|
||||
while (sls.hasNext()) {
|
||||
NcUairObsLevels sl = sls.next();
|
||||
if (sl.getPres() > 0 && index < maxManLevel) {
|
||||
pdv.setFloat(TTAA_PRES, sl.getPres(), index);
|
||||
pdv.setFloat(TTAA_HGHT, sl.getHght(), index);
|
||||
pdv.setFloat(TTAA_TEMP, sl.getTemp(), index);
|
||||
pdv.setFloat(TTAA_DWPT, sl.getDwpt(), index);
|
||||
pdv.setFloat(TTAA_DRCT, sl.getDrct(), index);
|
||||
pdv.setFloat(TTAA_SPED, sl.getSped(), index);
|
||||
index++;
|
||||
}
|
||||
}
|
||||
pdv.setInt("numTTAA", index);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case TTBB:
|
||||
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:
|
||||
|
||||
index = 0;
|
||||
if (sls != null) {
|
||||
while (sls.hasNext()) {
|
||||
NcUairObsLevels sl = sls.next();
|
||||
if (sl.getPres() > 0 && index < maxSigTempLevel) {
|
||||
pdv.setFloat(TTBB_PRES, sl.getPres(), index);
|
||||
pdv.setFloat(TTBB_TEMP, sl.getTemp(), index);
|
||||
pdv.setFloat(TTBB_DWPT, sl.getDwpt(), index);
|
||||
index++;
|
||||
}
|
||||
}
|
||||
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(TTBB_PRES, sl.getPres(), index);
|
||||
pdv.setFloat(TTBB_TEMP, sl.getTemp(), index);
|
||||
pdv.setFloat(TTBB_DWPT, sl.getDwpt(), index);
|
||||
index++;
|
||||
}
|
||||
}
|
||||
pdv.setInt("numTTBB", index);
|
||||
}
|
||||
break;
|
||||
|
||||
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() ) {
|
||||
NcUairObsLevels sl = sls.next();
|
||||
if ( sl.getPres() > 0 && index < maxManLevel ) {
|
||||
|
||||
pdv.setFloat(TTCC_PRES, sl.getPres(), index);
|
||||
pdv.setFloat(TTCC_HGHT, sl.getHght(), index);
|
||||
pdv.setFloat(TTCC_TEMP, sl.getTemp(), index);
|
||||
pdv.setFloat(TTCC_DWPT, sl.getDwpt(), index);
|
||||
pdv.setFloat(TTCC_DRCT, sl.getDrct(), index);
|
||||
pdv.setFloat(TTCC_SPED, sl.getSped(), index);
|
||||
index++;
|
||||
}
|
||||
}
|
||||
pdv.setInt("numTTCC",index);
|
||||
}
|
||||
break;
|
||||
index = 0;
|
||||
if (sls != null) {
|
||||
while (sls.hasNext()) {
|
||||
NcUairObsLevels sl = sls.next();
|
||||
if (sl.getPres() > 0 && index < maxManLevel) {
|
||||
|
||||
pdv.setFloat(TTCC_PRES, sl.getPres(), index);
|
||||
pdv.setFloat(TTCC_HGHT, sl.getHght(), index);
|
||||
pdv.setFloat(TTCC_TEMP, sl.getTemp(), index);
|
||||
pdv.setFloat(TTCC_DWPT, sl.getDwpt(), index);
|
||||
pdv.setFloat(TTCC_DRCT, sl.getDrct(), index);
|
||||
pdv.setFloat(TTCC_SPED, sl.getSped(), index);
|
||||
index++;
|
||||
}
|
||||
}
|
||||
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:
|
||||
|
||||
index = 0;
|
||||
if (sls != null) {
|
||||
while (sls.hasNext()) {
|
||||
NcUairObsLevels sl = sls.next();
|
||||
if (sl.getPres() > 0 && index < maxSigTempLevel) {
|
||||
pdv.setFloat(TTDD_PRES, sl.getPres(), index);
|
||||
pdv.setFloat(TTDD_TEMP, sl.getTemp(), index);
|
||||
pdv.setFloat(TTDD_DWPT, sl.getDwpt(), index);
|
||||
index++;
|
||||
}
|
||||
}
|
||||
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(TTDD_PRES, sl.getPres(), index);
|
||||
pdv.setFloat(TTDD_TEMP, sl.getTemp(), index);
|
||||
pdv.setFloat(TTDD_DWPT, sl.getDwpt(), index);
|
||||
index++;
|
||||
}
|
||||
}
|
||||
pdv.setInt("numTTDD", index);
|
||||
}
|
||||
break;
|
||||
|
||||
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;
|
||||
if ( sls != null ) {
|
||||
while (sls.hasNext()) {
|
||||
NcUairObsLevels sl = sls.next();
|
||||
if ( sl.getPres() > 0 && index < maxManLevel ) {
|
||||
pdv.setFloat(PPAA_PRES, sl.getPres(), index);
|
||||
pdv.setFloat(PPAA_HGHT, sl.getHght(), index);
|
||||
pdv.setFloat(PPAA_TEMP, sl.getTemp(), index);
|
||||
pdv.setFloat(PPAA_DWPT, sl.getDwpt(), index);
|
||||
pdv.setFloat(PPAA_DRCT, sl.getDrct(), index);
|
||||
pdv.setFloat(PPAA_SPED, sl.getSped(), index);
|
||||
index++;
|
||||
}
|
||||
}
|
||||
pdv.setInt("numPPAA", index);
|
||||
}
|
||||
break;
|
||||
index = 0;
|
||||
if (sls != null) {
|
||||
while (sls.hasNext()) {
|
||||
NcUairObsLevels sl = sls.next();
|
||||
if (sl.getPres() > 0 && index < maxManLevel) {
|
||||
pdv.setFloat(PPAA_PRES, sl.getPres(), index);
|
||||
pdv.setFloat(PPAA_HGHT, sl.getHght(), index);
|
||||
pdv.setFloat(PPAA_TEMP, sl.getTemp(), index);
|
||||
pdv.setFloat(PPAA_DWPT, sl.getDwpt(), index);
|
||||
pdv.setFloat(PPAA_DRCT, sl.getDrct(), index);
|
||||
pdv.setFloat(PPAA_SPED, sl.getSped(), index);
|
||||
index++;
|
||||
}
|
||||
}
|
||||
pdv.setInt("numPPAA", index);
|
||||
}
|
||||
break;
|
||||
case PPBB:
|
||||
index = 0;
|
||||
if ( sls != null ) {
|
||||
while (sls.hasNext()) {
|
||||
NcUairObsLevels sl = sls.next();
|
||||
if ( sl.getHght() > 0 && index < maxSigWindLevel ) {
|
||||
pdv.setFloat(PPBB_HGHT, sl.getHght(), index);
|
||||
pdv.setFloat(PPBB_DRCT, sl.getDrct(), index);
|
||||
pdv.setFloat(PPBB_SPED, sl.getSped(), index);
|
||||
index++;
|
||||
}
|
||||
}
|
||||
pdv.setInt ("numPPBB", index);
|
||||
}
|
||||
break;
|
||||
|
||||
index = 0;
|
||||
if (sls != null) {
|
||||
while (sls.hasNext()) {
|
||||
NcUairObsLevels sl = sls.next();
|
||||
if (sl.getHght() > 0 && index < maxSigWindLevel) {
|
||||
pdv.setFloat(PPBB_HGHT, sl.getHght(), index);
|
||||
pdv.setFloat(PPBB_DRCT, sl.getDrct(), index);
|
||||
pdv.setFloat(PPBB_SPED, sl.getSped(), index);
|
||||
index++;
|
||||
}
|
||||
}
|
||||
pdv.setInt("numPPBB", index);
|
||||
}
|
||||
break;
|
||||
|
||||
case PPCC:
|
||||
index = 0;
|
||||
if (sls !=null ) {
|
||||
while (sls.hasNext()) {
|
||||
NcUairObsLevels sl = sls.next();
|
||||
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);
|
||||
pdv.setFloat(PPCC_DWPT, sl.getDwpt(), index);
|
||||
pdv.setFloat(PPCC_DRCT, sl.getDrct(), index);
|
||||
pdv.setFloat(PPCC_SPED, sl.getSped(), index);
|
||||
index++;
|
||||
index = 0;
|
||||
if (sls != null) {
|
||||
while (sls.hasNext()) {
|
||||
NcUairObsLevels sl = sls.next();
|
||||
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);
|
||||
pdv.setFloat(PPCC_DWPT, sl.getDwpt(), index);
|
||||
pdv.setFloat(PPCC_DRCT, sl.getDrct(), index);
|
||||
pdv.setFloat(PPCC_SPED, sl.getSped(), index);
|
||||
index++;
|
||||
|
||||
}
|
||||
}
|
||||
pdv.setInt("numPPCC", index);
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
pdv.setInt ("numPPCC", index);
|
||||
}
|
||||
break;
|
||||
|
||||
case PPDD:
|
||||
index = 0;
|
||||
if (sls !=null ) {
|
||||
while (sls.hasNext()) {
|
||||
NcUairObsLevels sl = sls.next();
|
||||
if ( sl.getHght() > 0 && index < maxSigWindLevel ) {
|
||||
pdv.setFloat(PPDD_HGHT, sl.getHght(), index);
|
||||
pdv.setFloat(PPDD_DRCT, sl.getDrct(), index);
|
||||
pdv.setFloat(PPDD_SPED, sl.getSped(), index);
|
||||
index++;
|
||||
}
|
||||
index = 0;
|
||||
if (sls != null) {
|
||||
while (sls.hasNext()) {
|
||||
NcUairObsLevels sl = sls.next();
|
||||
if (sl.getHght() > 0 && index < maxSigWindLevel) {
|
||||
pdv.setFloat(PPDD_HGHT, sl.getHght(), index);
|
||||
pdv.setFloat(PPDD_DRCT, sl.getDrct(), index);
|
||||
pdv.setFloat(PPDD_SPED, sl.getSped(), index);
|
||||
index++;
|
||||
}
|
||||
|
||||
}
|
||||
pdv.setInt ("numPPDD", index);
|
||||
}
|
||||
}
|
||||
pdv.setInt("numPPDD", index);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if ( record.getTropopause () != null ) {
|
||||
Iterator<NcUairTropopause> trops = record.getTropopause().iterator();
|
||||
index = 0;
|
||||
if (trops != null) {
|
||||
while (trops.hasNext()) {
|
||||
NcUairTropopause trop = trops.next();
|
||||
if ( trop.getPres() > 0 && index < maxTropLevel ) {
|
||||
pdv.setFloat(TROP_PRES, trop.getPres(), index);
|
||||
pdv.setFloat(TROP_TEMP, trop.getTemp(), index);
|
||||
pdv.setFloat(TROP_DWPT, trop.getDwpt(), index);
|
||||
pdv.setFloat(TROP_DRCT, trop.getDrct(), index);
|
||||
pdv.setFloat(TROP_SPED, trop.getSped(), index);
|
||||
index++;
|
||||
}
|
||||
}
|
||||
pdv.setInt ("numTrop", index);
|
||||
}
|
||||
}
|
||||
if (record.getTropopause() != null) {
|
||||
Iterator<NcUairTropopause> trops = record.getTropopause()
|
||||
.iterator();
|
||||
index = 0;
|
||||
if (trops != null) {
|
||||
while (trops.hasNext()) {
|
||||
NcUairTropopause trop = trops.next();
|
||||
if (trop.getPres() > 0 && index < maxTropLevel) {
|
||||
pdv.setFloat(TROP_PRES, trop.getPres(), index);
|
||||
pdv.setFloat(TROP_TEMP, trop.getTemp(), index);
|
||||
pdv.setFloat(TROP_DWPT, trop.getDwpt(), index);
|
||||
pdv.setFloat(TROP_DRCT, trop.getDrct(), index);
|
||||
pdv.setFloat(TROP_SPED, trop.getSped(), index);
|
||||
index++;
|
||||
}
|
||||
}
|
||||
pdv.setInt("numTrop", index);
|
||||
}
|
||||
}
|
||||
|
||||
if (record.getMaxWind() != null ) {
|
||||
Iterator<NcUairMaxWind> wmaxs = record.getMaxWind().iterator();
|
||||
index = 0;
|
||||
if (wmaxs != null) {
|
||||
while (wmaxs.hasNext()) {
|
||||
NcUairMaxWind wmax = wmaxs.next();
|
||||
if ( wmax.getPres() > 0 && index < maxWmaxLevel ) {
|
||||
pdv.setFloat(WMAX_PRES, wmax.getPres(), index);
|
||||
pdv.setFloat(WMAX_DRCT, wmax.getDrct(), index);
|
||||
pdv.setFloat(WMAX_SPED, wmax.getSped(), index);
|
||||
pdv.setFloat(WMAX_LO_SHEAR, wmax.getLoShear(), index);
|
||||
pdv.setFloat(WMAX_HI_SHEAR, wmax.getHiShear(), index);
|
||||
index++;
|
||||
}
|
||||
}
|
||||
pdv.setInt ("numWmax", index);
|
||||
}
|
||||
}
|
||||
if (record.getMaxWind() != null) {
|
||||
Iterator<NcUairMaxWind> wmaxs = record.getMaxWind().iterator();
|
||||
index = 0;
|
||||
if (wmaxs != null) {
|
||||
while (wmaxs.hasNext()) {
|
||||
NcUairMaxWind wmax = wmaxs.next();
|
||||
if (wmax.getPres() > 0 && index < maxWmaxLevel) {
|
||||
pdv.setFloat(WMAX_PRES, wmax.getPres(), index);
|
||||
pdv.setFloat(WMAX_DRCT, wmax.getDrct(), index);
|
||||
pdv.setFloat(WMAX_SPED, wmax.getSped(), index);
|
||||
pdv.setFloat(WMAX_LO_SHEAR, wmax.getLoShear(), index);
|
||||
pdv.setFloat(WMAX_HI_SHEAR, wmax.getHiShear(), index);
|
||||
index++;
|
||||
}
|
||||
}
|
||||
pdv.setInt("numWmax", index);
|
||||
}
|
||||
}
|
||||
|
||||
if (record.getLiftedIndex() != null) {
|
||||
Iterator<NcUairLiftedIndex> miscs = record.getLiftedIndex().iterator();
|
||||
index = 0;
|
||||
if ( miscs != null) {
|
||||
while (miscs.hasNext()) {
|
||||
NcUairLiftedIndex misc = miscs.next();
|
||||
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);
|
||||
} 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);
|
||||
}
|
||||
index++;
|
||||
}
|
||||
}
|
||||
if ( record.getDataType().equals ("TTAA")) {
|
||||
pdv.setInt ("numMiscTTAA", index);
|
||||
} else {
|
||||
pdv.setInt ("numMiscTTBB", index);
|
||||
}
|
||||
}
|
||||
}
|
||||
return pdv;
|
||||
if (record.getLiftedIndex() != null) {
|
||||
Iterator<NcUairLiftedIndex> miscs = record.getLiftedIndex()
|
||||
.iterator();
|
||||
index = 0;
|
||||
if (miscs != null) {
|
||||
while (miscs.hasNext()) {
|
||||
NcUairLiftedIndex misc = miscs.next();
|
||||
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);
|
||||
} 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);
|
||||
}
|
||||
index++;
|
||||
}
|
||||
}
|
||||
if (record.getDataType().equals("TTAA")) {
|
||||
pdv.setInt("numMiscTTAA", index);
|
||||
} else {
|
||||
pdv.setInt("numMiscTTBB", index);
|
||||
}
|
||||
}
|
||||
}
|
||||
return pdv;
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,94 +1,80 @@
|
|||
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 {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@DynamicSerializeElement
|
||||
private static final long serialVersionUID = 8432204748729755161L;
|
||||
@DynamicSerializeElement
|
||||
private static final long serialVersionUID = 8432204748729755161L;
|
||||
|
||||
public DewPointTemp() {
|
||||
super( UNIT );
|
||||
}
|
||||
|
||||
@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);
|
||||
}else
|
||||
setValueToMissing();
|
||||
return this;
|
||||
}
|
||||
public DewPointTemp() {
|
||||
super(UNIT);
|
||||
}
|
||||
|
||||
@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);
|
||||
}else
|
||||
setValueToMissing();
|
||||
return this;
|
||||
}
|
||||
@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);
|
||||
} else
|
||||
setValueToMissing();
|
||||
return this;
|
||||
}
|
||||
|
||||
@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);
|
||||
} else
|
||||
setValueToMissing();
|
||||
return this;
|
||||
}
|
||||
|
||||
@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);
|
||||
} else
|
||||
setValueToMissing();
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
@DeriveMethod
|
||||
public DewPointTemp derive(AirTemperature t, RelativeHumidity rh) throws InvalidValueException, NullPointerException {
|
||||
if (t.hasValidValue() && rh.hasValidValue()) {
|
||||
Amount dewpointAmount = PRLibrary.prRhdp(t, rh);
|
||||
this.setValue(dewpointAmount);
|
||||
} else
|
||||
setValueToMissing();
|
||||
return this;
|
||||
}
|
||||
|
||||
@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);
|
||||
}else
|
||||
setValueToMissing();
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
@DeriveMethod
|
||||
public DewPointTemp derive ( AirTemperature t, RelativeHumidity rh) throws InvalidValueException, NullPointerException {
|
||||
if ( t.hasValidValue() && rh.hasValidValue() ){
|
||||
Amount dewpointAmount = PRLibrary.prRhdp(t, rh);
|
||||
this.setValue(dewpointAmount);
|
||||
}else
|
||||
setValueToMissing();
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
@ -28,425 +29,421 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
|
|||
@XmlRootElement
|
||||
@XmlAccessorType(XmlAccessType.NONE)
|
||||
@DynamicSerialize
|
||||
public class MetParameterFactory implements ISerializableObject{
|
||||
public class MetParameterFactory implements ISerializableObject {
|
||||
|
||||
/**
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@DynamicSerializeElement
|
||||
private static final long serialVersionUID = 5589025391819288854L;
|
||||
@DynamicSerializeElement
|
||||
private static final long serialVersionUID = 5589025391819288854L;
|
||||
|
||||
// map from the alias to the ncep parameter name.
|
||||
@DynamicSerializeElement
|
||||
private HashMap<String, String> ncParamsAliasMap = new HashMap<String, String>();
|
||||
|
||||
//
|
||||
@DynamicSerializeElement
|
||||
private HashMap<String, AbstractMetParameter> ncParamsMap =
|
||||
new HashMap<String, AbstractMetParameter>();
|
||||
|
||||
@DynamicSerializeElement
|
||||
private static MetParameterFactory instance=null;
|
||||
|
||||
public static MetParameterFactory getInstance() {
|
||||
if( instance == null ) {
|
||||
instance = new MetParameterFactory();
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
// map from the alias to the ncep parameter name.
|
||||
@DynamicSerializeElement
|
||||
private HashMap<String, String> ncParamsAliasMap = new HashMap<String, String>();
|
||||
|
||||
private MetParameterFactory() {
|
||||
try{
|
||||
ncParamsMap.put( AircraftType.class.getSimpleName(), new AircraftType() );
|
||||
ncParamsMap.put( AircraftReportType.class.getSimpleName(), new AircraftReportType() );
|
||||
ncParamsMap.put( AmountOfCondPrecipIn12Hrs.class.getSimpleName(), new AmountOfCondPrecipIn12Hrs() );
|
||||
ncParamsMap.put( AmountOfCondPrecipIn24Hrs.class.getSimpleName(), new AmountOfCondPrecipIn24Hrs() );
|
||||
ncParamsMap.put( Avg3HrShipSpeed.class.getSimpleName(), new Avg3HrShipSpeed() );
|
||||
ncParamsMap.put( Avg1HrHeatFlux.class.getSimpleName(), new Avg1HrHeatFlux() );
|
||||
ncParamsMap.put( Avg1HrSnowPhaseChangeHeatFlux.class.getSimpleName(), new Avg1HrSnowPhaseChangeHeatFlux() );
|
||||
ncParamsMap.put( Avg1HrSubSurfaceHeatFlux.class.getSimpleName(), new Avg1HrSubSurfaceHeatFlux() );
|
||||
ncParamsMap.put( BaseOfIcing.class.getSimpleName(), new BaseOfIcing() );
|
||||
ncParamsMap.put( BaseOfTurbulence.class.getSimpleName(), new BaseOfTurbulence() );
|
||||
ncParamsMap.put( BaseOfWeather.class.getSimpleName(), new BaseOfWeather() );
|
||||
ncParamsMap.put( BruntVaisalaFreq.class.getSimpleName(), new BruntVaisalaFreq() );
|
||||
ncParamsMap.put( BruntVaisalaPeriod.class.getSimpleName(), new BruntVaisalaPeriod() );
|
||||
// ncParamsMap.put( BruntVaisalaFrequencySquared.class.getSimpleName(), new BruntVaisalaFrequencySquared() );
|
||||
ncParamsMap.put( CatFcstCeilingHeightCond.class.getSimpleName(), new CatFcstCeilingHeightCond() );
|
||||
ncParamsMap.put( CatFcstObstructionsVision.class.getSimpleName(), new CatFcstObstructionsVision() );
|
||||
ncParamsMap.put( CatFcstPrecipitation.class.getSimpleName(), new CatFcstPrecipitation() );
|
||||
|
||||
ncParamsMap.put( CatFcstSnowAmountFalling06hr.class.getSimpleName(), new CatFcstSnowAmountFalling06hr() );
|
||||
ncParamsMap.put( CatFcstSnowAmountFalling12hr.class.getSimpleName(), new CatFcstSnowAmountFalling12hr() );
|
||||
ncParamsMap.put( CatFcstSnowAmountFalling24hr.class.getSimpleName(), new CatFcstSnowAmountFalling24hr() );
|
||||
ncParamsMap.put( CatFcstVisibilityCond.class.getSimpleName(), new CatFcstVisibilityCond() );
|
||||
ncParamsMap.put( CeilingFromSurface.class.getSimpleName(), new CeilingFromSurface() );
|
||||
ncParamsMap.put( CeilingFromSeaLevel.class.getSimpleName(), new CeilingFromSeaLevel() );
|
||||
ncParamsMap.put( CloudCover.class.getSimpleName(), new CloudCover() );
|
||||
ncParamsMap.put( ClimDayTemp.class.getSimpleName(), new ClimDayTemp() );
|
||||
ncParamsMap.put( ClimNightTemp.class.getSimpleName(), new ClimNightTemp() );
|
||||
ncParamsMap.put( Clim12HrPOP.class.getSimpleName(), new Clim12HrPOP() );
|
||||
ncParamsMap.put( Clim24HrPOP.class.getSimpleName(), new Clim24HrPOP() );
|
||||
ncParamsMap.put( CloudBase1.class.getSimpleName(), new CloudBase1() );
|
||||
ncParamsMap.put( CloudBase2.class.getSimpleName(), new CloudBase2() );
|
||||
ncParamsMap.put( CloudFractionInLayer.class.getSimpleName(), new CloudFractionInLayer() );
|
||||
ncParamsMap.put( CloudWater.class.getSimpleName(), new CloudWater() );
|
||||
ncParamsMap.put( CloudTop1.class.getSimpleName(), new CloudTop1() );
|
||||
ncParamsMap.put( CloudTop2.class.getSimpleName(), new CloudTop2() );
|
||||
ncParamsMap.put( CondProbOf6HrSevereWeather.class.getSimpleName(), new CondProbOf6HrSevereWeather() );
|
||||
ncParamsMap.put( CondProbOf12HrSevereWeather.class.getSimpleName(), new CondProbOf12HrSevereWeather() );
|
||||
ncParamsMap.put( CondProbOf12HrFreezingPrecip.class.getSimpleName(), new CondProbOf12HrFreezingPrecip() );
|
||||
ncParamsMap.put( CondProbOf12HrRain.class.getSimpleName(), new CondProbOf12HrRain() );
|
||||
ncParamsMap.put( CondFcstPrecip12HrType.class.getSimpleName(), new CondFcstPrecip12HrType() );
|
||||
ncParamsMap.put( CondProbOf12HrSnow.class.getSimpleName(), new CondProbOf12HrSnow() );
|
||||
ncParamsMap.put( CondProbOf24HrSevereWeather.class.getSimpleName(), new CondProbOf24HrSevereWeather() );
|
||||
ncParamsMap.put( CondProbOfFreezingPrecip.class.getSimpleName(), new CondProbOfFreezingPrecip() );
|
||||
ncParamsMap.put( CondProbOfLiquidPrecip.class.getSimpleName(), new CondProbOfLiquidPrecip() );
|
||||
ncParamsMap.put( CondProbOfMixedPrecip.class.getSimpleName(), new CondProbOfMixedPrecip() );
|
||||
ncParamsMap.put( CondProbOfContPrecip.class.getSimpleName(), new CondProbOfContPrecip() );
|
||||
ncParamsMap.put( CondProbOfDrizzle.class.getSimpleName(), new CondProbOfDrizzle() );
|
||||
ncParamsMap.put( CondProbOfShowers.class.getSimpleName(), new CondProbOfShowers() );
|
||||
ncParamsMap.put( CondProbOfSnow.class.getSimpleName(), new CondProbOfSnow() );
|
||||
ncParamsMap.put( ConvectivePrecip.class.getSimpleName(), new ConvectivePrecip() );
|
||||
ncParamsMap.put( ShipCourse.class.getSimpleName(), new ShipCourse() );
|
||||
ncParamsMap.put( DayTempAnomaly.class.getSimpleName(), new DayTempAnomaly() );
|
||||
ncParamsMap.put( DayTempFcst.class.getSimpleName(), new DayTempFcst() );
|
||||
ncParamsMap.put( DewPointDepression.class.getSimpleName(), new DewPointDepression() );
|
||||
ncParamsMap.put( DewPointTemp.class.getSimpleName(), new DewPointTemp() );
|
||||
ncParamsMap.put( DryBulbTemp.class.getSimpleName(), new DryBulbTemp() );
|
||||
ncParamsMap.put( FiveSecPeakWindDir.class.getSimpleName(), new FiveSecPeakWindDir() );
|
||||
ncParamsMap.put( PredomSwellWaveDir.class.getSimpleName(), new PredomSwellWaveDir() );
|
||||
ncParamsMap.put( SecondarySwellWaveDir.class.getSimpleName(), new SecondarySwellWaveDir() );
|
||||
ncParamsMap.put( DPRN.class.getSimpleName(), new DPRN() );
|
||||
ncParamsMap.put( DryAirDensity.class.getSimpleName(), new DryAirDensity() );
|
||||
ncParamsMap.put( DryHydrostaticHeight.class.getSimpleName(), new DryHydrostaticHeight() );
|
||||
ncParamsMap.put( TimeOf5SecPeakWindInHrs.class.getSimpleName(), new TimeOf5SecPeakWindInHrs() );
|
||||
ncParamsMap.put( TimeOf5SecPeakWindInMins.class.getSimpleName(), new TimeOf5SecPeakWindInMins() );
|
||||
ncParamsMap.put( EquivPotentialTemp.class.getSimpleName(), new EquivPotentialTemp() );
|
||||
ncParamsMap.put( EquivWindSpeed10min.class.getSimpleName(), new EquivWindSpeed10min() );
|
||||
ncParamsMap.put( EquivWindSpeed20min.class.getSimpleName(), new EquivWindSpeed20min() );
|
||||
ncParamsMap.put( FcstFZRainAccumulationIn12Hours.class.getSimpleName(), new FcstFZRainAccumulationIn12Hours() );
|
||||
ncParamsMap.put( FcstFZRainAccumulationToWatchThresh.class.getSimpleName(), new FcstFZRainAccumulationToWatchThresh() );
|
||||
ncParamsMap.put( FcstSnowIcePelletAccumulation12Hrs.class.getSimpleName(), new FcstSnowIcePelletAccumulation12Hrs() );
|
||||
ncParamsMap.put( FcstSnowIcePelletAccumToWatchThresh.class.getSimpleName(), new FcstSnowIcePelletAccumToWatchThresh() );
|
||||
ncParamsMap.put( FlashFloodGuid01Hr.class.getSimpleName(), new FlashFloodGuid01Hr() );
|
||||
ncParamsMap.put( FlashFloodGuid03Hr.class.getSimpleName(), new FlashFloodGuid03Hr() );
|
||||
ncParamsMap.put( FlashFloodGuid06Hr.class.getSimpleName(), new FlashFloodGuid06Hr() );
|
||||
ncParamsMap.put( FlashFloodGuid12Hr.class.getSimpleName(), new FlashFloodGuid12Hr() );
|
||||
ncParamsMap.put( FlashFloodGuid24Hr.class.getSimpleName(), new FlashFloodGuid24Hr() );
|
||||
ncParamsMap.put( FlightRulesID.class.getSimpleName(), new FlightRulesID() );
|
||||
ncParamsMap.put( FlightLevel.class.getSimpleName(), new FlightLevel() );
|
||||
ncParamsMap.put( FosbergFireWxIndex.class.getSimpleName(), new FosbergFireWxIndex() );
|
||||
ncParamsMap.put( FZRainWatchThresh.class.getSimpleName(), new FZRainWatchThresh() );
|
||||
// ncParamsMap.put( GenericDimensionlessParameter.class.getSimpleName(), new GenericDimensionlessParameter() );
|
||||
// ncParamsMap.put( GustBarb.class.getSimpleName(), new GustBarb() );
|
||||
ncParamsMap.put( HailSize.class.getSimpleName(), new HailSize() );
|
||||
ncParamsMap.put( HeatIndex.class.getSimpleName(), new HeatIndex() );
|
||||
ncParamsMap.put( HeightAboveSeaLevel.class.getSimpleName(), new HeightAboveSeaLevel() );
|
||||
ncParamsMap.put( InstrumentWaveHeight.class.getSimpleName(), new InstrumentWaveHeight() );
|
||||
ncParamsMap.put( PredomSwellWaveHeight.class.getSimpleName(), new PredomSwellWaveHeight() );
|
||||
ncParamsMap.put( SecondarySwellWaveHeight.class.getSimpleName(), new SecondarySwellWaveHeight() );
|
||||
ncParamsMap.put( WaveHeight.class.getSimpleName(), new WaveHeight() );
|
||||
ncParamsMap.put( WindWaveHeight.class.getSimpleName(), new WindWaveHeight() );
|
||||
ncParamsMap.put( Highest1MinMeanWindSpeedInPastHour.class.getSimpleName(), new Highest1MinMeanWindSpeedInPastHour() );
|
||||
ncParamsMap.put( HighResWaveHeight.class.getSimpleName(), new HighResWaveHeight() );
|
||||
ncParamsMap.put( HumitureIndex.class.getSimpleName(), new HumitureIndex() );
|
||||
ncParamsMap.put( IceCode.class.getSimpleName(), new IceCode() );
|
||||
ncParamsMap.put( IceType.class.getSimpleName(), new IceType() );
|
||||
ncParamsMap.put( IcingIntensitySymbol.class.getSimpleName(), new IcingIntensitySymbol() );
|
||||
ncParamsMap.put( IcingTypeSymbol.class.getSimpleName(), new IcingTypeSymbol() );
|
||||
ncParamsMap.put( InterWindDir.class.getSimpleName(), new InterWindDir() );
|
||||
ncParamsMap.put( InterWindSpeed.class.getSimpleName(), new InterWindSpeed() );
|
||||
ncParamsMap.put( InterWindTime.class.getSimpleName(), new InterWindTime() );
|
||||
ncParamsMap.put( LandSea.class.getSimpleName(), new LandSea() );
|
||||
ncParamsMap.put( LatentHeatOfVapor.class.getSimpleName(), new LatentHeatOfVapor() );
|
||||
ncParamsMap.put( LCLParcelPressure.class.getSimpleName(), new LCLParcelPressure() );
|
||||
ncParamsMap.put( LCLParcelTemperature.class.getSimpleName(), new LCLParcelTemperature() );
|
||||
ncParamsMap.put( LiftedIndex.class.getSimpleName(), new LiftedIndex() );
|
||||
ncParamsMap.put( LiftedSurfaceAirTempAt500mb.class.getSimpleName(), new LiftedSurfaceAirTempAt500mb() );
|
||||
ncParamsMap.put( Lowest01MinAvgPressInPastHour.class.getSimpleName(), new Lowest01MinAvgPressInPastHour() );
|
||||
ncParamsMap.put( Max24HrTemp.class.getSimpleName(), new Max24HrTemp() );
|
||||
ncParamsMap.put( Max6HrTemp.class.getSimpleName(), new Max6HrTemp() );
|
||||
ncParamsMap.put( MaxDailyWeatherMapTemp.class.getSimpleName(), new MaxDailyWeatherMapTemp() );
|
||||
ncParamsMap.put( MaxDayTemp.class.getSimpleName(), new MaxDayTemp() );
|
||||
ncParamsMap.put( MaxEditedTemp.class.getSimpleName(), new MaxEditedTemp() );
|
||||
ncParamsMap.put( MaxCloudCover.class.getSimpleName(), new MaxCloudCover() );
|
||||
ncParamsMap.put( MaxPrecipPR6X.class.getSimpleName(), new MaxPrecipPR6X() ); //remove??
|
||||
ncParamsMap.put( MaxMidnightTemp.class.getSimpleName(), new MaxMidnightTemp() );
|
||||
ncParamsMap.put( MaxOrMinTemp.class.getSimpleName(), new MaxOrMinTemp() );
|
||||
ncParamsMap.put( Max12HrPrecipFcst.class.getSimpleName(), new Max12HrPrecipFcst() );
|
||||
ncParamsMap.put( MaxWindSpeed.class.getSimpleName(), new MaxWindSpeed() );
|
||||
ncParamsMap.put( MeanSeaLevelPres.class.getSimpleName(), new MeanSeaLevelPres() );
|
||||
ncParamsMap.put( Min24HrTemp.class.getSimpleName(), new Min24HrTemp() );
|
||||
ncParamsMap.put( Min6HrTemp.class.getSimpleName(), new Min6HrTemp() );
|
||||
ncParamsMap.put( MinDailyWeatherMapTemp.class.getSimpleName(), new MinDailyWeatherMapTemp() );
|
||||
ncParamsMap.put( MinNightTemp.class.getSimpleName(), new MinNightTemp() );
|
||||
ncParamsMap.put( MixingRatio.class.getSimpleName(), new MixingRatio() );
|
||||
ncParamsMap.put( MoistHydrostaticHeight.class.getSimpleName(), new MoistHydrostaticHeight() );
|
||||
ncParamsMap.put( MontgomeryStreamFnct.class.getSimpleName(), new MontgomeryStreamFnct() );
|
||||
ncParamsMap.put( MountainObscThreshMetIndicator.class.getSimpleName(), new MountainObscThreshMetIndicator() );
|
||||
ncParamsMap.put( MountainObscThresh.class.getSimpleName(), new MountainObscThresh() );
|
||||
ncParamsMap.put( NightTempAnomaly.class.getSimpleName(), new NightTempAnomaly() );
|
||||
ncParamsMap.put( NewSnowAmount.class.getSimpleName(), new NewSnowAmount() );
|
||||
ncParamsMap.put( NightTempFcst.class.getSimpleName(), new NightTempFcst() );
|
||||
ncParamsMap.put( NumInterWinds.class.getSimpleName(), new NumInterWinds() );
|
||||
ncParamsMap.put( AirParcelTemp.class.getSimpleName(), new AirParcelTemp() );
|
||||
ncParamsMap.put( Omega.class.getSimpleName(), new Omega() );
|
||||
ncParamsMap.put( PeakWindDir.class.getSimpleName(), new PeakWindDir() );
|
||||
ncParamsMap.put( PeakWindSpeed.class.getSimpleName(), new PeakWindSpeed() );
|
||||
ncParamsMap.put( PeakWindSpeedTime.class.getSimpleName(), new PeakWindSpeedTime() );
|
||||
ncParamsMap.put( InstrumentWavePeriod.class.getSimpleName(), new InstrumentWavePeriod() );
|
||||
ncParamsMap.put( PredomSwellWavePeriod.class.getSimpleName(), new PredomSwellWavePeriod() );
|
||||
ncParamsMap.put( SecondarySwellWavePeriod.class.getSimpleName(), new SecondarySwellWavePeriod() );
|
||||
ncParamsMap.put( WavePeriod.class.getSimpleName(), new WavePeriod() );
|
||||
ncParamsMap.put( WindWavePeriod.class.getSimpleName(), new WindWavePeriod() );
|
||||
ncParamsMap.put( PerpendicularWindComp.class.getSimpleName(), new PerpendicularWindComp() );
|
||||
ncParamsMap.put( PotentialTemp.class.getSimpleName(), new PotentialTemp() );
|
||||
ncParamsMap.put( PotentialTempAt10Meters.class.getSimpleName(), new PotentialTempAt10Meters() );
|
||||
ncParamsMap.put( PlatformTrueDirection.class.getSimpleName(), new PlatformTrueDirection() );
|
||||
ncParamsMap.put( PlatformTrueSpeed.class.getSimpleName(), new PlatformTrueSpeed() );
|
||||
ncParamsMap.put( PotentialTempLapseRate.class.getSimpleName(), new PotentialTempLapseRate() );
|
||||
ncParamsMap.put( PrecipitableWaterForEntireSounding.class.getSimpleName(), new PrecipitableWaterForEntireSounding() );
|
||||
ncParamsMap.put( PrecipitableWaterUptoSpecifiedLevel.class.getSimpleName(), new PrecipitableWaterUptoSpecifiedLevel() );
|
||||
ncParamsMap.put( Precipitation.class.getSimpleName(), new Precipitation() );
|
||||
ncParamsMap.put( Precip01Hr.class.getSimpleName(), new Precip01Hr() );
|
||||
ncParamsMap.put( Precip03Hr.class.getSimpleName(), new Precip03Hr() );
|
||||
ncParamsMap.put( Precip06Hr.class.getSimpleName(), new Precip06Hr() );
|
||||
// ncParamsMap.put( PrecipitationIn09Hours.class.getSimpleName(), new PrecipitationIn09Hours() );
|
||||
ncParamsMap.put( Precip12Hr.class.getSimpleName(), new Precip12Hr() );
|
||||
ncParamsMap.put( Precip18Hr.class.getSimpleName(), new Precip18Hr() );
|
||||
ncParamsMap.put( Precip24Hr.class.getSimpleName(), new Precip24Hr() );
|
||||
ncParamsMap.put( PresentWeather.class.getSimpleName(), new PresentWeather() );
|
||||
ncParamsMap.put( PressureLevel.class.getSimpleName(), new PressureLevel() );
|
||||
ncParamsMap.put( PressChange3Hr.class.getSimpleName(), new PressChange3Hr() );
|
||||
ncParamsMap.put( PressChange24Hr.class.getSimpleName(), new PressChange24Hr() );
|
||||
ncParamsMap.put( PressureTendencySymbol.class.getSimpleName(), new PressureTendencySymbol() );
|
||||
ncParamsMap.put( POPFcst06Hrs.class.getSimpleName(), new POPFcst06Hrs() );
|
||||
ncParamsMap.put( POPFcst12Hrs.class.getSimpleName(), new POPFcst12Hrs() );
|
||||
ncParamsMap.put( POPFcst24Hrs.class.getSimpleName(), new POPFcst24Hrs() );
|
||||
ncParamsMap.put( POPAnomalyIn12hrs.class.getSimpleName(), new POPAnomalyIn12hrs() );
|
||||
ncParamsMap.put( POPAnomalyIn12hrs.class.getSimpleName(), new POPAnomalyIn12hrs() );
|
||||
ncParamsMap.put( POP01Hr.class.getSimpleName(), new POP01Hr() );
|
||||
ncParamsMap.put( POP03Hrs.class.getSimpleName(), new POP03Hrs() );
|
||||
ncParamsMap.put( POP06Hrs.class.getSimpleName(), new POP06Hrs() );
|
||||
ncParamsMap.put( POP12Hrs.class.getSimpleName(), new POP12Hrs() );
|
||||
ncParamsMap.put( POP24Hrs.class.getSimpleName(), new POP24Hrs() );
|
||||
ncParamsMap.put( POPAnomalyIn24hrs.class.getSimpleName(), new POPAnomalyIn24hrs() );
|
||||
ncParamsMap.put( QuantPrecipFcstBestCat06Hr.class.getSimpleName(), new QuantPrecipFcstBestCat06Hr() );
|
||||
ncParamsMap.put( QuantPrecipFcstBestCat12Hr.class.getSimpleName(), new QuantPrecipFcstBestCat12Hr() );
|
||||
ncParamsMap.put( QuantPrecipFcstBestCat24Hr.class.getSimpleName(), new QuantPrecipFcstBestCat24Hr() );
|
||||
ncParamsMap.put( RateOfIceAccretionOnVesselInSaltWater.class.getSimpleName(), new RateOfIceAccretionOnVesselInSaltWater() );
|
||||
ncParamsMap.put( RelativeHumidity.class.getSimpleName(), new RelativeHumidity() );
|
||||
ncParamsMap.put( RelFreqPrecip24HrsClim.class.getSimpleName(), new RelFreqPrecip24HrsClim() );
|
||||
ncParamsMap.put( RichardsonNumber.class.getSimpleName(), new RichardsonNumber() );
|
||||
ncParamsMap.put( SatEquivPotentialTemp.class.getSimpleName(), new SatEquivPotentialTemp() );
|
||||
ncParamsMap.put( SatMixingRatio.class.getSimpleName(), new SatMixingRatio() );
|
||||
ncParamsMap.put( SatVaporPressure.class.getSimpleName(), new SatVaporPressure() );
|
||||
ncParamsMap.put( SeaIceDriftDist.class.getSimpleName(), new SeaIceDriftDist() );
|
||||
ncParamsMap.put( SeaLevelPressure.class.getSimpleName(), new SeaLevelPressure() );
|
||||
ncParamsMap.put( SeaSurfaceTemp.class.getSimpleName(), new SeaSurfaceTemp() );
|
||||
ncParamsMap.put( ShowalterIndex.class.getSimpleName(), new ShowalterIndex() );
|
||||
ncParamsMap.put( SkinTemperature.class.getSimpleName(), new SkinTemperature() );
|
||||
ncParamsMap.put( SkyCoverage.class.getSimpleName(), new SkyCoverage() );
|
||||
ncParamsMap.put( SnowDepth.class.getSimpleName(), new SnowDepth() );
|
||||
ncParamsMap.put( SnowIcePelletWatchThresh.class.getSimpleName(), new SnowIcePelletWatchThresh() );
|
||||
ncParamsMap.put( SpeedOf05SecPeakWind.class.getSimpleName(), new SpeedOf05SecPeakWind() );
|
||||
ncParamsMap.put( SpecificHumidity.class.getSimpleName(), new SpecificHumidity() );
|
||||
ncParamsMap.put( SpecificHumidityAt02Meters.class.getSimpleName(), new SpecificHumidityAt02Meters());
|
||||
ncParamsMap.put( SpecificHumidityAt10Meters.class.getSimpleName(), new SpecificHumidityAt10Meters() );
|
||||
ncParamsMap.put( StabilityWithRespectToPressure.class.getSimpleName(), new StabilityWithRespectToPressure() );
|
||||
ncParamsMap.put( StationElevation.class.getSimpleName(), new StationElevation() );
|
||||
ncParamsMap.put( StationID.class.getSimpleName(), new StationID() );
|
||||
ncParamsMap.put( StationLatitude.class.getSimpleName(), new StationLatitude() );
|
||||
ncParamsMap.put( StationLongitude.class.getSimpleName(), new StationLongitude() );
|
||||
ncParamsMap.put( StationName.class.getSimpleName(), new StationName() );
|
||||
ncParamsMap.put( SurfacePressure.class.getSimpleName(), new SurfacePressure() );
|
||||
ncParamsMap.put( StormMotionSpeed.class.getSimpleName(), new StormMotionSpeed() );
|
||||
ncParamsMap.put( StormMotionDirection.class.getSimpleName(), new StormMotionDirection() );
|
||||
// ncParamsMap.put( SumOfFour6HrPrecipitation.class.getSimpleName(), new SumOfFour6HrPrecipitation() );
|
||||
ncParamsMap.put( SunshineDuration.class.getSimpleName(), new SunshineDuration() );
|
||||
ncParamsMap.put( SurfaceEquivPotentialTemp.class.getSimpleName(), new SurfaceEquivPotentialTemp() );
|
||||
ncParamsMap.put( SurfaceMixingRatio.class.getSimpleName(), new SurfaceMixingRatio() );
|
||||
ncParamsMap.put( SurfacePotentialTemp.class.getSimpleName(), new SurfacePotentialTemp() );
|
||||
ncParamsMap.put( SurfacePressure.class.getSimpleName(), new SurfacePressure() );
|
||||
ncParamsMap.put( SurfaceSatEquivPotentialTemp.class.getSimpleName(), new SurfaceSatEquivPotentialTemp() );
|
||||
ncParamsMap.put( SurfaceSatMixingRatio.class.getSimpleName(), new SurfaceSatMixingRatio() );
|
||||
ncParamsMap.put( AirTemperature.class.getSimpleName(), new AirTemperature() );
|
||||
ncParamsMap.put( TempLapseRate.class.getSimpleName(), new TempLapseRate() );
|
||||
ncParamsMap.put( ProbableCeiling.class.getSimpleName(), new ProbableCeiling() );
|
||||
ncParamsMap.put( ProbableCeilingAsMeanSeaLevel.class.getSimpleName(), new ProbableCeilingAsMeanSeaLevel() );
|
||||
ncParamsMap.put( ProbableFlightRuleIdentifier.class.getSimpleName(), new ProbableFlightRuleIdentifier() );
|
||||
ncParamsMap.put( ProbableMountainObscThreshMetIndicator.class.getSimpleName(), new ProbableMountainObscThreshMetIndicator() );
|
||||
ncParamsMap.put( ProbableVisibility.class.getSimpleName(), new ProbableVisibility() );
|
||||
ncParamsMap.put( ProbableWindDirection.class.getSimpleName(), new ProbableWindDirection() );
|
||||
ncParamsMap.put( ProbableWindGust.class.getSimpleName(), new ProbableWindGust() );
|
||||
ncParamsMap.put( ProbableWindSpeed.class.getSimpleName(), new ProbableWindSpeed() );
|
||||
// ncParamsMap.put( ThunderstormOccurring2hr.class.getSimpleName(), new ThunderstormOccurring2hr() );
|
||||
// ncParamsMap.put( ThunderstormOccurring6hr.class.getSimpleName(), new ThunderstormOccurring6hr() );
|
||||
// ncParamsMap.put( ThunderstormOccurring12hr.class.getSimpleName(), new ThunderstormOccurring12hr() );
|
||||
// ncParamsMap.put( ThunderstormOccurring24hr.class.getSimpleName(), new ThunderstormOccurring24hr() );
|
||||
ncParamsMap.put( ShipIceThickness.class.getSimpleName(), new ShipIceThickness() );
|
||||
ncParamsMap.put( StationNumber.class.getSimpleName(), new StationNumber() );
|
||||
ncParamsMap.put( TopOfIcing.class.getSimpleName(), new TopOfIcing() );
|
||||
ncParamsMap.put( TopOfTurbulence.class.getSimpleName(), new TopOfTurbulence() );
|
||||
ncParamsMap.put( TopOfWeather.class.getSimpleName(), new TopOfWeather() );
|
||||
ncParamsMap.put( TotalSkyCoverFcst12hr.class.getSimpleName(), new TotalSkyCoverFcst12hr() );
|
||||
ncParamsMap.put( TotalPrecip.class.getSimpleName(), new TotalPrecip() );
|
||||
ncParamsMap.put( TotalSkyCoverFcst12hr.class.getSimpleName(), new TotalSkyCoverFcst12hr() );
|
||||
ncParamsMap.put( TurbulenceFrequencySymbol.class.getSimpleName(), new TurbulenceFrequencySymbol() );
|
||||
ncParamsMap.put( TurbulenceIntensitySymbol.class.getSimpleName(), new TurbulenceIntensitySymbol() );
|
||||
ncParamsMap.put( TurbulenceTypeSymbol.class.getSimpleName(), new TurbulenceTypeSymbol() );
|
||||
ncParamsMap.put( TurbulentKineticEnergy.class.getSimpleName(), new TurbulentKineticEnergy() );
|
||||
ncParamsMap.put( EstStormDirectionUComp.class.getSimpleName(), new EstStormDirectionUComp() );
|
||||
ncParamsMap.put( UCompAt10Meters.class.getSimpleName(), new UCompAt10Meters() );
|
||||
ncParamsMap.put( UncondProbOf06HrSevereWeather.class.getSimpleName(), new UncondProbOf06HrSevereWeather() );
|
||||
ncParamsMap.put( UncondProbOf12HrSevereWeather.class.getSimpleName(), new UncondProbOf12HrSevereWeather() );
|
||||
ncParamsMap.put( UncondProbOf24HrSevereWeather.class.getSimpleName(), new UncondProbOf24HrSevereWeather() );
|
||||
|
||||
ncParamsMap.put( UncondProbOfTstorms2hr.class.getSimpleName(), new UncondProbOfTstorms2hr() );
|
||||
ncParamsMap.put( UncondProbOfTstorms6hr.class.getSimpleName(), new UncondProbOfTstorms6hr() );
|
||||
ncParamsMap.put( UncondProbOfTstorms12hr.class.getSimpleName(), new UncondProbOfTstorms12hr() );
|
||||
ncParamsMap.put( UncondProbOfTstorms24hr.class.getSimpleName(), new UncondProbOfTstorms24hr() );
|
||||
ncParamsMap.put( VCompAt10Meters.class.getSimpleName(), new VCompAt10Meters() );
|
||||
ncParamsMap.put( WindDirectionUComp.class.getSimpleName(), new WindDirectionUComp() );
|
||||
ncParamsMap.put( VaporPressure.class.getSimpleName(), new VaporPressure() );
|
||||
ncParamsMap.put( EstStormDirectionVComp.class.getSimpleName(), new EstStormDirectionVComp() );
|
||||
ncParamsMap.put( IsentropesVerticalSeparation.class.getSimpleName(), new IsentropesVerticalSeparation() );
|
||||
ncParamsMap.put( VerticalVelocity.class.getSimpleName(), new VerticalVelocity() );
|
||||
ncParamsMap.put( VirtualPotentialTemp.class.getSimpleName(), new VirtualPotentialTemp() );
|
||||
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( WaveSteepness.class.getSimpleName(), new WaveSteepness() );
|
||||
ncParamsMap.put( WetBulbPotentialTemp.class.getSimpleName(), new WetBulbPotentialTemp() );
|
||||
ncParamsMap.put( WetBulbTemp.class.getSimpleName(), new WetBulbTemp() );
|
||||
// ncParamsMap.put( WindBarb.class.getSimpleName(), new WindBarb() );
|
||||
ncParamsMap.put( WindChillEquivalentTemp.class.getSimpleName(), new WindChillEquivalentTemp() );
|
||||
ncParamsMap.put( WindChillTemperature.class.getSimpleName(), new WindChillTemperature() );
|
||||
ncParamsMap.put( WindSpeedComp.class.getSimpleName(), new WindSpeedComp() );
|
||||
ncParamsMap.put( WindCompDirection.class.getSimpleName(), new WindCompDirection() );
|
||||
ncParamsMap.put( WindDirection.class.getSimpleName(), new WindDirection() );
|
||||
ncParamsMap.put( WindGust.class.getSimpleName(), new WindGust() );
|
||||
ncParamsMap.put( WindSpeed.class.getSimpleName(), new WindSpeed() );
|
||||
ncParamsMap.put( CeilingFromSeaLevelWorstCase.class.getSimpleName(), new CeilingFromSeaLevelWorstCase() );
|
||||
ncParamsMap.put( FlightRulesIdWorstCase.class.getSimpleName(), new FlightRulesIdWorstCase() );
|
||||
ncParamsMap.put( MountainObscThreshMetIndicatorWorstCase.class.getSimpleName(), new MountainObscThreshMetIndicatorWorstCase() );
|
||||
ncParamsMap.put( Probability.class.getSimpleName(), new Probability() );
|
||||
ncParamsMap.put( ProbableSkyCoverage.class.getSimpleName(), new ProbableSkyCoverage() );
|
||||
ncParamsMap.put( ReportTimeInHourMins.class.getSimpleName(), new ReportTimeInHourMins() );
|
||||
ncParamsMap.put( ProbablePresentWeather.class.getSimpleName(), new ProbablePresentWeather() );
|
||||
ncParamsMap.put( LowLevelWindShear.class.getSimpleName(), new LowLevelWindShear() );
|
||||
ncParamsMap.put( WxPresent.class.getSimpleName(), new WxPresent() );
|
||||
}
|
||||
catch(Exception e ){
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isValidMetParameterName( String metPrmName ) {
|
||||
return ncParamsMap.containsKey( metPrmName );
|
||||
}
|
||||
|
||||
// get the default units
|
||||
public AbstractMetParameter createParameter( String prmName ) {
|
||||
String ncParamName;
|
||||
if( ncParamsAliasMap.containsKey( prmName ) ) {
|
||||
ncParamName = ncParamsAliasMap.get( prmName );
|
||||
}
|
||||
else {
|
||||
ncParamName = prmName;
|
||||
}
|
||||
|
||||
if( ncParamName == null ||
|
||||
!ncParamsMap.containsKey( ncParamName )) {
|
||||
System.out.println("can't find ncParam for : "+prmName );
|
||||
return null;
|
||||
}
|
||||
|
||||
AbstractMetParameter ncParam = ncParamsMap.get( ncParamName );
|
||||
//
|
||||
@DynamicSerializeElement
|
||||
private HashMap<String, AbstractMetParameter> ncParamsMap = new HashMap<String, AbstractMetParameter>();
|
||||
|
||||
try {
|
||||
AbstractMetParameter newParam = (AbstractMetParameter)
|
||||
ncParam.getClass().getConstructor().newInstance();
|
||||
return newParam;
|
||||
} catch (Exception e) {
|
||||
System.out.println("error getting newInstance for metParam " +
|
||||
ncParam.getClass().getSimpleName() );
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
// u is the expected units and must be compatible with the units for the implemented
|
||||
// Quantity.
|
||||
public AbstractMetParameter createParameter( String prmName, String unitName ) {
|
||||
Unit<?> units;
|
||||
|
||||
if( unitName == null ) {
|
||||
units = Unit.ONE;
|
||||
}
|
||||
else {
|
||||
try {
|
||||
units = UnitFormat.getUCUMInstance().parseProductUnit(
|
||||
unitName, new ParsePosition(0) );
|
||||
} catch (ParseException e) {
|
||||
System.out.println("unable to determine units for "+unitName);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@DynamicSerializeElement
|
||||
private static MetParameterFactory instance = null;
|
||||
|
||||
return createParameter(prmName, units);
|
||||
}
|
||||
public static MetParameterFactory getInstance() {
|
||||
if (instance == null) {
|
||||
instance = new MetParameterFactory();
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
|
||||
// create a parameter value with MISSING value.
|
||||
// name may be an alias, or the name of the parameter
|
||||
//
|
||||
public AbstractMetParameter createParameter( String prmName, Unit<?> u ) {
|
||||
AbstractMetParameter newParam = createParameter( prmName );
|
||||
newParam.setUnitPair( u );
|
||||
return newParam;
|
||||
}
|
||||
|
||||
public AbstractMetParameter createParameter( String prmName, DataTime dt ) {
|
||||
AbstractMetParameter newParam = createParameter( prmName );
|
||||
newParam.setValidTime( dt );
|
||||
return newParam;
|
||||
}
|
||||
|
||||
public AbstractMetParameter createParameter( String prmName, Unit<?> u, DataTime dt ) {
|
||||
AbstractMetParameter newParam = createParameter( prmName );
|
||||
newParam.setValidTime( dt );
|
||||
newParam.setUnitPair( u );
|
||||
return newParam;
|
||||
}
|
||||
private MetParameterFactory() {
|
||||
try {
|
||||
ncParamsMap.put(AircraftType.class.getSimpleName(), new AircraftType());
|
||||
ncParamsMap.put(AircraftReportType.class.getSimpleName(), new AircraftReportType());
|
||||
ncParamsMap.put(AmountOfCondPrecipIn12Hrs.class.getSimpleName(), new AmountOfCondPrecipIn12Hrs());
|
||||
ncParamsMap.put(AmountOfCondPrecipIn24Hrs.class.getSimpleName(), new AmountOfCondPrecipIn24Hrs());
|
||||
ncParamsMap.put(Avg3HrShipSpeed.class.getSimpleName(), new Avg3HrShipSpeed());
|
||||
ncParamsMap.put(Avg1HrHeatFlux.class.getSimpleName(), new Avg1HrHeatFlux());
|
||||
ncParamsMap.put(Avg1HrSnowPhaseChangeHeatFlux.class.getSimpleName(), new Avg1HrSnowPhaseChangeHeatFlux());
|
||||
ncParamsMap.put(Avg1HrSubSurfaceHeatFlux.class.getSimpleName(), new Avg1HrSubSurfaceHeatFlux());
|
||||
ncParamsMap.put(BaseOfIcing.class.getSimpleName(), new BaseOfIcing());
|
||||
ncParamsMap.put(BaseOfTurbulence.class.getSimpleName(), new BaseOfTurbulence());
|
||||
ncParamsMap.put(BaseOfWeather.class.getSimpleName(), new BaseOfWeather());
|
||||
ncParamsMap.put(BruntVaisalaFreq.class.getSimpleName(), new BruntVaisalaFreq());
|
||||
ncParamsMap.put(BruntVaisalaPeriod.class.getSimpleName(), new BruntVaisalaPeriod());
|
||||
// ncParamsMap.put( BruntVaisalaFrequencySquared.class.getSimpleName(), new BruntVaisalaFrequencySquared() );
|
||||
ncParamsMap.put(CatFcstCeilingHeightCond.class.getSimpleName(), new CatFcstCeilingHeightCond());
|
||||
ncParamsMap.put(CatFcstObstructionsVision.class.getSimpleName(), new CatFcstObstructionsVision());
|
||||
ncParamsMap.put(CatFcstPrecipitation.class.getSimpleName(), new CatFcstPrecipitation());
|
||||
|
||||
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 ) );
|
||||
// return false;
|
||||
}
|
||||
|
||||
ncParamsAliasMap.put( alias, prmName );
|
||||
|
||||
return true;
|
||||
}
|
||||
ncParamsMap.put(CatFcstSnowAmountFalling06hr.class.getSimpleName(), new CatFcstSnowAmountFalling06hr());
|
||||
ncParamsMap.put(CatFcstSnowAmountFalling12hr.class.getSimpleName(), new CatFcstSnowAmountFalling12hr());
|
||||
ncParamsMap.put(CatFcstSnowAmountFalling24hr.class.getSimpleName(), new CatFcstSnowAmountFalling24hr());
|
||||
ncParamsMap.put(CatFcstVisibilityCond.class.getSimpleName(), new CatFcstVisibilityCond());
|
||||
ncParamsMap.put(CeilingFromSurface.class.getSimpleName(), new CeilingFromSurface());
|
||||
ncParamsMap.put(CeilingFromSeaLevel.class.getSimpleName(), new CeilingFromSeaLevel());
|
||||
ncParamsMap.put(CloudCover.class.getSimpleName(), new CloudCover());
|
||||
ncParamsMap.put(ClimDayTemp.class.getSimpleName(), new ClimDayTemp());
|
||||
ncParamsMap.put(ClimNightTemp.class.getSimpleName(), new ClimNightTemp());
|
||||
ncParamsMap.put(Clim12HrPOP.class.getSimpleName(), new Clim12HrPOP());
|
||||
ncParamsMap.put(Clim24HrPOP.class.getSimpleName(), new Clim24HrPOP());
|
||||
ncParamsMap.put(CloudBase1.class.getSimpleName(), new CloudBase1());
|
||||
ncParamsMap.put(CloudBase2.class.getSimpleName(), new CloudBase2());
|
||||
ncParamsMap.put(CloudFractionInLayer.class.getSimpleName(), new CloudFractionInLayer());
|
||||
ncParamsMap.put(CloudWater.class.getSimpleName(), new CloudWater());
|
||||
ncParamsMap.put(CloudTop1.class.getSimpleName(), new CloudTop1());
|
||||
ncParamsMap.put(CloudTop2.class.getSimpleName(), new CloudTop2());
|
||||
ncParamsMap.put(CondProbOf6HrSevereWeather.class.getSimpleName(), new CondProbOf6HrSevereWeather());
|
||||
ncParamsMap.put(CondProbOf12HrSevereWeather.class.getSimpleName(), new CondProbOf12HrSevereWeather());
|
||||
ncParamsMap.put(CondProbOf12HrFreezingPrecip.class.getSimpleName(), new CondProbOf12HrFreezingPrecip());
|
||||
ncParamsMap.put(CondProbOf12HrRain.class.getSimpleName(), new CondProbOf12HrRain());
|
||||
ncParamsMap.put(CondFcstPrecip12HrType.class.getSimpleName(), new CondFcstPrecip12HrType());
|
||||
ncParamsMap.put(CondProbOf12HrSnow.class.getSimpleName(), new CondProbOf12HrSnow());
|
||||
ncParamsMap.put(CondProbOf24HrSevereWeather.class.getSimpleName(), new CondProbOf24HrSevereWeather());
|
||||
ncParamsMap.put(CondProbOfFreezingPrecip.class.getSimpleName(), new CondProbOfFreezingPrecip());
|
||||
ncParamsMap.put(CondProbOfLiquidPrecip.class.getSimpleName(), new CondProbOfLiquidPrecip());
|
||||
ncParamsMap.put(CondProbOfMixedPrecip.class.getSimpleName(), new CondProbOfMixedPrecip());
|
||||
ncParamsMap.put(CondProbOfContPrecip.class.getSimpleName(), new CondProbOfContPrecip());
|
||||
ncParamsMap.put(CondProbOfDrizzle.class.getSimpleName(), new CondProbOfDrizzle());
|
||||
ncParamsMap.put(CondProbOfShowers.class.getSimpleName(), new CondProbOfShowers());
|
||||
ncParamsMap.put(CondProbOfSnow.class.getSimpleName(), new CondProbOfSnow());
|
||||
ncParamsMap.put(ConvectivePrecip.class.getSimpleName(), new ConvectivePrecip());
|
||||
ncParamsMap.put(ShipCourse.class.getSimpleName(), new ShipCourse());
|
||||
ncParamsMap.put(DayTempAnomaly.class.getSimpleName(), new DayTempAnomaly());
|
||||
ncParamsMap.put(DayTempFcst.class.getSimpleName(), new DayTempFcst());
|
||||
ncParamsMap.put(DewPointDepression.class.getSimpleName(), new DewPointDepression());
|
||||
ncParamsMap.put(DewPointTemp.class.getSimpleName(), new DewPointTemp());
|
||||
ncParamsMap.put(DryBulbTemp.class.getSimpleName(), new DryBulbTemp());
|
||||
ncParamsMap.put(FiveSecPeakWindDir.class.getSimpleName(), new FiveSecPeakWindDir());
|
||||
ncParamsMap.put(PredomSwellWaveDir.class.getSimpleName(), new PredomSwellWaveDir());
|
||||
ncParamsMap.put(SecondarySwellWaveDir.class.getSimpleName(), new SecondarySwellWaveDir());
|
||||
ncParamsMap.put(DPRN.class.getSimpleName(), new DPRN());
|
||||
ncParamsMap.put(DryAirDensity.class.getSimpleName(), new DryAirDensity());
|
||||
ncParamsMap.put(DryHydrostaticHeight.class.getSimpleName(), new DryHydrostaticHeight());
|
||||
ncParamsMap.put(TimeOf5SecPeakWindInHrs.class.getSimpleName(), new TimeOf5SecPeakWindInHrs());
|
||||
ncParamsMap.put(TimeOf5SecPeakWindInMins.class.getSimpleName(), new TimeOf5SecPeakWindInMins());
|
||||
ncParamsMap.put(EquivPotentialTemp.class.getSimpleName(), new EquivPotentialTemp());
|
||||
ncParamsMap.put(EquivWindSpeed10min.class.getSimpleName(), new EquivWindSpeed10min());
|
||||
ncParamsMap.put(EquivWindSpeed20min.class.getSimpleName(), new EquivWindSpeed20min());
|
||||
ncParamsMap.put(FcstFZRainAccumulationIn12Hours.class.getSimpleName(), new FcstFZRainAccumulationIn12Hours());
|
||||
ncParamsMap.put(FcstFZRainAccumulationToWatchThresh.class.getSimpleName(), new FcstFZRainAccumulationToWatchThresh());
|
||||
ncParamsMap.put(FcstSnowIcePelletAccumulation12Hrs.class.getSimpleName(), new FcstSnowIcePelletAccumulation12Hrs());
|
||||
ncParamsMap.put(FcstSnowIcePelletAccumToWatchThresh.class.getSimpleName(), new FcstSnowIcePelletAccumToWatchThresh());
|
||||
ncParamsMap.put(FlashFloodGuid01Hr.class.getSimpleName(), new FlashFloodGuid01Hr());
|
||||
ncParamsMap.put(FlashFloodGuid03Hr.class.getSimpleName(), new FlashFloodGuid03Hr());
|
||||
ncParamsMap.put(FlashFloodGuid06Hr.class.getSimpleName(), new FlashFloodGuid06Hr());
|
||||
ncParamsMap.put(FlashFloodGuid12Hr.class.getSimpleName(), new FlashFloodGuid12Hr());
|
||||
ncParamsMap.put(FlashFloodGuid24Hr.class.getSimpleName(), new FlashFloodGuid24Hr());
|
||||
ncParamsMap.put(FlightRulesID.class.getSimpleName(), new FlightRulesID());
|
||||
ncParamsMap.put(FlightLevel.class.getSimpleName(), new FlightLevel());
|
||||
ncParamsMap.put(FosbergFireWxIndex.class.getSimpleName(), new FosbergFireWxIndex());
|
||||
ncParamsMap.put(FZRainWatchThresh.class.getSimpleName(), new FZRainWatchThresh());
|
||||
// ncParamsMap.put( GenericDimensionlessParameter.class.getSimpleName(), new GenericDimensionlessParameter() );
|
||||
// ncParamsMap.put( GustBarb.class.getSimpleName(), new GustBarb() );
|
||||
ncParamsMap.put(HailSize.class.getSimpleName(), new HailSize());
|
||||
ncParamsMap.put(HeatIndex.class.getSimpleName(), new HeatIndex());
|
||||
ncParamsMap.put(HeightAboveSeaLevel.class.getSimpleName(), new HeightAboveSeaLevel());
|
||||
ncParamsMap.put(InstrumentWaveHeight.class.getSimpleName(), new InstrumentWaveHeight());
|
||||
ncParamsMap.put(PredomSwellWaveHeight.class.getSimpleName(), new PredomSwellWaveHeight());
|
||||
ncParamsMap.put(SecondarySwellWaveHeight.class.getSimpleName(), new SecondarySwellWaveHeight());
|
||||
ncParamsMap.put(WaveHeight.class.getSimpleName(), new WaveHeight());
|
||||
ncParamsMap.put(WindWaveHeight.class.getSimpleName(), new WindWaveHeight());
|
||||
ncParamsMap.put(Highest1MinMeanWindSpeedInPastHour.class.getSimpleName(), new Highest1MinMeanWindSpeedInPastHour());
|
||||
ncParamsMap.put(HighResWaveHeight.class.getSimpleName(), new HighResWaveHeight());
|
||||
ncParamsMap.put(HumitureIndex.class.getSimpleName(), new HumitureIndex());
|
||||
ncParamsMap.put(IceCode.class.getSimpleName(), new IceCode());
|
||||
ncParamsMap.put(IceType.class.getSimpleName(), new IceType());
|
||||
ncParamsMap.put(IcingIntensitySymbol.class.getSimpleName(), new IcingIntensitySymbol());
|
||||
ncParamsMap.put(IcingTypeSymbol.class.getSimpleName(), new IcingTypeSymbol());
|
||||
ncParamsMap.put(InterWindDir.class.getSimpleName(), new InterWindDir());
|
||||
ncParamsMap.put(InterWindSpeed.class.getSimpleName(), new InterWindSpeed());
|
||||
ncParamsMap.put(InterWindTime.class.getSimpleName(), new InterWindTime());
|
||||
ncParamsMap.put(LandSea.class.getSimpleName(), new LandSea());
|
||||
ncParamsMap.put(LatentHeatOfVapor.class.getSimpleName(), new LatentHeatOfVapor());
|
||||
ncParamsMap.put(LCLParcelPressure.class.getSimpleName(), new LCLParcelPressure());
|
||||
ncParamsMap.put(LCLParcelTemperature.class.getSimpleName(), new LCLParcelTemperature());
|
||||
ncParamsMap.put(LiftedIndex.class.getSimpleName(), new LiftedIndex());
|
||||
ncParamsMap.put(LiftedSurfaceAirTempAt500mb.class.getSimpleName(), new LiftedSurfaceAirTempAt500mb());
|
||||
ncParamsMap.put(Lowest01MinAvgPressInPastHour.class.getSimpleName(), new Lowest01MinAvgPressInPastHour());
|
||||
ncParamsMap.put(Max24HrTemp.class.getSimpleName(), new Max24HrTemp());
|
||||
ncParamsMap.put(Max6HrTemp.class.getSimpleName(), new Max6HrTemp());
|
||||
ncParamsMap.put(MaxDailyWeatherMapTemp.class.getSimpleName(), new MaxDailyWeatherMapTemp());
|
||||
ncParamsMap.put(MaxDayTemp.class.getSimpleName(), new MaxDayTemp());
|
||||
ncParamsMap.put(MaxEditedTemp.class.getSimpleName(), new MaxEditedTemp());
|
||||
ncParamsMap.put(MaxCloudCover.class.getSimpleName(), new MaxCloudCover());
|
||||
ncParamsMap.put(MaxPrecipPR6X.class.getSimpleName(), new MaxPrecipPR6X()); //remove??
|
||||
ncParamsMap.put(MaxMidnightTemp.class.getSimpleName(), new MaxMidnightTemp());
|
||||
ncParamsMap.put(MaxOrMinTemp.class.getSimpleName(), new MaxOrMinTemp());
|
||||
ncParamsMap.put(Max12HrPrecipFcst.class.getSimpleName(), new Max12HrPrecipFcst());
|
||||
ncParamsMap.put(MaxWindSpeed.class.getSimpleName(), new MaxWindSpeed());
|
||||
ncParamsMap.put(MeanSeaLevelPres.class.getSimpleName(), new MeanSeaLevelPres());
|
||||
ncParamsMap.put(Min24HrTemp.class.getSimpleName(), new Min24HrTemp());
|
||||
ncParamsMap.put(Min6HrTemp.class.getSimpleName(), new Min6HrTemp());
|
||||
ncParamsMap.put(MinDailyWeatherMapTemp.class.getSimpleName(), new MinDailyWeatherMapTemp());
|
||||
ncParamsMap.put(MinNightTemp.class.getSimpleName(), new MinNightTemp());
|
||||
ncParamsMap.put(MixingRatio.class.getSimpleName(), new MixingRatio());
|
||||
ncParamsMap.put(MoistHydrostaticHeight.class.getSimpleName(), new MoistHydrostaticHeight());
|
||||
ncParamsMap.put(MontgomeryStreamFnct.class.getSimpleName(), new MontgomeryStreamFnct());
|
||||
ncParamsMap.put(MountainObscThreshMetIndicator.class.getSimpleName(), new MountainObscThreshMetIndicator());
|
||||
ncParamsMap.put(MountainObscThresh.class.getSimpleName(), new MountainObscThresh());
|
||||
ncParamsMap.put(NightTempAnomaly.class.getSimpleName(), new NightTempAnomaly());
|
||||
ncParamsMap.put(NewSnowAmount.class.getSimpleName(), new NewSnowAmount());
|
||||
ncParamsMap.put(NightTempFcst.class.getSimpleName(), new NightTempFcst());
|
||||
ncParamsMap.put(NumInterWinds.class.getSimpleName(), new NumInterWinds());
|
||||
ncParamsMap.put(AirParcelTemp.class.getSimpleName(), new AirParcelTemp());
|
||||
ncParamsMap.put(Omega.class.getSimpleName(), new Omega());
|
||||
ncParamsMap.put(PeakWindDir.class.getSimpleName(), new PeakWindDir());
|
||||
ncParamsMap.put(PeakWindSpeed.class.getSimpleName(), new PeakWindSpeed());
|
||||
ncParamsMap.put(PeakWindSpeedTime.class.getSimpleName(), new PeakWindSpeedTime());
|
||||
ncParamsMap.put(InstrumentWavePeriod.class.getSimpleName(), new InstrumentWavePeriod());
|
||||
ncParamsMap.put(PredomSwellWavePeriod.class.getSimpleName(), new PredomSwellWavePeriod());
|
||||
ncParamsMap.put(SecondarySwellWavePeriod.class.getSimpleName(), new SecondarySwellWavePeriod());
|
||||
ncParamsMap.put(WavePeriod.class.getSimpleName(), new WavePeriod());
|
||||
ncParamsMap.put(WindWavePeriod.class.getSimpleName(), new WindWavePeriod());
|
||||
ncParamsMap.put(PerpendicularWindComp.class.getSimpleName(), new PerpendicularWindComp());
|
||||
ncParamsMap.put(PotentialTemp.class.getSimpleName(), new PotentialTemp());
|
||||
ncParamsMap.put(PotentialTempAt10Meters.class.getSimpleName(), new PotentialTempAt10Meters());
|
||||
ncParamsMap.put(PlatformTrueDirection.class.getSimpleName(), new PlatformTrueDirection());
|
||||
ncParamsMap.put(PlatformTrueSpeed.class.getSimpleName(), new PlatformTrueSpeed());
|
||||
ncParamsMap.put(PotentialTempLapseRate.class.getSimpleName(), new PotentialTempLapseRate());
|
||||
ncParamsMap.put(PrecipitableWaterForEntireSounding.class.getSimpleName(), new PrecipitableWaterForEntireSounding());
|
||||
ncParamsMap.put(PrecipitableWaterUptoSpecifiedLevel.class.getSimpleName(), new PrecipitableWaterUptoSpecifiedLevel());
|
||||
ncParamsMap.put(Precipitation.class.getSimpleName(), new Precipitation());
|
||||
ncParamsMap.put(Precip01Hr.class.getSimpleName(), new Precip01Hr());
|
||||
ncParamsMap.put(Precip03Hr.class.getSimpleName(), new Precip03Hr());
|
||||
ncParamsMap.put(Precip06Hr.class.getSimpleName(), new Precip06Hr());
|
||||
// ncParamsMap.put( PrecipitationIn09Hours.class.getSimpleName(), new PrecipitationIn09Hours() );
|
||||
ncParamsMap.put(Precip12Hr.class.getSimpleName(), new Precip12Hr());
|
||||
ncParamsMap.put(Precip18Hr.class.getSimpleName(), new Precip18Hr());
|
||||
ncParamsMap.put(Precip24Hr.class.getSimpleName(), new Precip24Hr());
|
||||
ncParamsMap.put(PresentWeather.class.getSimpleName(), new PresentWeather());
|
||||
ncParamsMap.put(PressureLevel.class.getSimpleName(), new PressureLevel());
|
||||
ncParamsMap.put(PressChange3Hr.class.getSimpleName(), new PressChange3Hr());
|
||||
|
||||
@DynamicSerialize
|
||||
public static class NotDerivableException extends Exception {
|
||||
|
||||
@DynamicSerializeElement
|
||||
private static final long serialVersionUID = -5750539413381916413L;
|
||||
// TTR 923
|
||||
ncParamsMap.put(PressChange3HrAbsVal.class.getSimpleName(), new PressChange3HrAbsVal());
|
||||
ncParamsMap.put(PressureChange3HrAndTendency.class.getSimpleName(), new PressureChange3HrAndTendency());
|
||||
|
||||
public NotDerivableException( String msg) {
|
||||
super( msg );
|
||||
}
|
||||
}
|
||||
ncParamsMap.put(PressChange24Hr.class.getSimpleName(), new PressChange24Hr());
|
||||
ncParamsMap.put(PressureTendencySymbol.class.getSimpleName(), new PressureTendencySymbol());
|
||||
ncParamsMap.put(POPFcst06Hrs.class.getSimpleName(), new POPFcst06Hrs());
|
||||
ncParamsMap.put(POPFcst12Hrs.class.getSimpleName(), new POPFcst12Hrs());
|
||||
ncParamsMap.put(POPFcst24Hrs.class.getSimpleName(), new POPFcst24Hrs());
|
||||
ncParamsMap.put(POPAnomalyIn12hrs.class.getSimpleName(), new POPAnomalyIn12hrs());
|
||||
ncParamsMap.put(POPAnomalyIn12hrs.class.getSimpleName(), new POPAnomalyIn12hrs());
|
||||
ncParamsMap.put(POP01Hr.class.getSimpleName(), new POP01Hr());
|
||||
ncParamsMap.put(POP03Hrs.class.getSimpleName(), new POP03Hrs());
|
||||
ncParamsMap.put(POP06Hrs.class.getSimpleName(), new POP06Hrs());
|
||||
ncParamsMap.put(POP12Hrs.class.getSimpleName(), new POP12Hrs());
|
||||
ncParamsMap.put(POP24Hrs.class.getSimpleName(), new POP24Hrs());
|
||||
ncParamsMap.put(POPAnomalyIn24hrs.class.getSimpleName(), new POPAnomalyIn24hrs());
|
||||
ncParamsMap.put(QuantPrecipFcstBestCat06Hr.class.getSimpleName(), new QuantPrecipFcstBestCat06Hr());
|
||||
ncParamsMap.put(QuantPrecipFcstBestCat12Hr.class.getSimpleName(), new QuantPrecipFcstBestCat12Hr());
|
||||
ncParamsMap.put(QuantPrecipFcstBestCat24Hr.class.getSimpleName(), new QuantPrecipFcstBestCat24Hr());
|
||||
ncParamsMap.put(RateOfIceAccretionOnVesselInSaltWater.class.getSimpleName(), new RateOfIceAccretionOnVesselInSaltWater());
|
||||
ncParamsMap.put(RelativeHumidity.class.getSimpleName(), new RelativeHumidity());
|
||||
ncParamsMap.put(RelFreqPrecip24HrsClim.class.getSimpleName(), new RelFreqPrecip24HrsClim());
|
||||
ncParamsMap.put(RichardsonNumber.class.getSimpleName(), new RichardsonNumber());
|
||||
ncParamsMap.put(SatEquivPotentialTemp.class.getSimpleName(), new SatEquivPotentialTemp());
|
||||
ncParamsMap.put(SatMixingRatio.class.getSimpleName(), new SatMixingRatio());
|
||||
ncParamsMap.put(SatVaporPressure.class.getSimpleName(), new SatVaporPressure());
|
||||
ncParamsMap.put(SeaIceDriftDist.class.getSimpleName(), new SeaIceDriftDist());
|
||||
ncParamsMap.put(SeaLevelPressure.class.getSimpleName(), new SeaLevelPressure());
|
||||
ncParamsMap.put(SeaSurfaceTemp.class.getSimpleName(), new SeaSurfaceTemp());
|
||||
ncParamsMap.put(ShowalterIndex.class.getSimpleName(), new ShowalterIndex());
|
||||
ncParamsMap.put(SkinTemperature.class.getSimpleName(), new SkinTemperature());
|
||||
ncParamsMap.put(SkyCoverage.class.getSimpleName(), new SkyCoverage());
|
||||
ncParamsMap.put(SnowDepth.class.getSimpleName(), new SnowDepth());
|
||||
ncParamsMap.put(SnowIcePelletWatchThresh.class.getSimpleName(), new SnowIcePelletWatchThresh());
|
||||
ncParamsMap.put(SpeedOf05SecPeakWind.class.getSimpleName(), new SpeedOf05SecPeakWind());
|
||||
ncParamsMap.put(SpecificHumidity.class.getSimpleName(), new SpecificHumidity());
|
||||
ncParamsMap.put(SpecificHumidityAt02Meters.class.getSimpleName(), new SpecificHumidityAt02Meters());
|
||||
ncParamsMap.put(SpecificHumidityAt10Meters.class.getSimpleName(), new SpecificHumidityAt10Meters());
|
||||
ncParamsMap.put(StabilityWithRespectToPressure.class.getSimpleName(), new StabilityWithRespectToPressure());
|
||||
ncParamsMap.put(StationElevation.class.getSimpleName(), new StationElevation());
|
||||
ncParamsMap.put(StationID.class.getSimpleName(), new StationID());
|
||||
ncParamsMap.put(StationLatitude.class.getSimpleName(), new StationLatitude());
|
||||
ncParamsMap.put(StationLongitude.class.getSimpleName(), new StationLongitude());
|
||||
ncParamsMap.put(StationName.class.getSimpleName(), new StationName());
|
||||
ncParamsMap.put(SurfacePressure.class.getSimpleName(), new SurfacePressure());
|
||||
ncParamsMap.put(StormMotionSpeed.class.getSimpleName(), new StormMotionSpeed());
|
||||
ncParamsMap.put(StormMotionDirection.class.getSimpleName(), new StormMotionDirection());
|
||||
// ncParamsMap.put( SumOfFour6HrPrecipitation.class.getSimpleName(), new SumOfFour6HrPrecipitation() );
|
||||
ncParamsMap.put(SunshineDuration.class.getSimpleName(), new SunshineDuration());
|
||||
ncParamsMap.put(SurfaceEquivPotentialTemp.class.getSimpleName(), new SurfaceEquivPotentialTemp());
|
||||
ncParamsMap.put(SurfaceMixingRatio.class.getSimpleName(), new SurfaceMixingRatio());
|
||||
ncParamsMap.put(SurfacePotentialTemp.class.getSimpleName(), new SurfacePotentialTemp());
|
||||
ncParamsMap.put(SurfacePressure.class.getSimpleName(), new SurfacePressure());
|
||||
ncParamsMap.put(SurfaceSatEquivPotentialTemp.class.getSimpleName(), new SurfaceSatEquivPotentialTemp());
|
||||
ncParamsMap.put(SurfaceSatMixingRatio.class.getSimpleName(), new SurfaceSatMixingRatio());
|
||||
ncParamsMap.put(AirTemperature.class.getSimpleName(), new AirTemperature());
|
||||
ncParamsMap.put(TempLapseRate.class.getSimpleName(), new TempLapseRate());
|
||||
ncParamsMap.put(ProbableCeiling.class.getSimpleName(), new ProbableCeiling());
|
||||
ncParamsMap.put(ProbableCeilingAsMeanSeaLevel.class.getSimpleName(), new ProbableCeilingAsMeanSeaLevel());
|
||||
ncParamsMap.put(ProbableFlightRuleIdentifier.class.getSimpleName(), new ProbableFlightRuleIdentifier());
|
||||
ncParamsMap.put(ProbableMountainObscThreshMetIndicator.class.getSimpleName(), new ProbableMountainObscThreshMetIndicator());
|
||||
ncParamsMap.put(ProbableVisibility.class.getSimpleName(), new ProbableVisibility());
|
||||
ncParamsMap.put(ProbableWindDirection.class.getSimpleName(), new ProbableWindDirection());
|
||||
ncParamsMap.put(ProbableWindGust.class.getSimpleName(), new ProbableWindGust());
|
||||
ncParamsMap.put(ProbableWindSpeed.class.getSimpleName(), new ProbableWindSpeed());
|
||||
// ncParamsMap.put( ThunderstormOccurring2hr.class.getSimpleName(), new ThunderstormOccurring2hr() );
|
||||
// ncParamsMap.put( ThunderstormOccurring6hr.class.getSimpleName(), new ThunderstormOccurring6hr() );
|
||||
// ncParamsMap.put( ThunderstormOccurring12hr.class.getSimpleName(), new ThunderstormOccurring12hr() );
|
||||
// ncParamsMap.put( ThunderstormOccurring24hr.class.getSimpleName(), new ThunderstormOccurring24hr() );
|
||||
ncParamsMap.put(ShipIceThickness.class.getSimpleName(), new ShipIceThickness());
|
||||
ncParamsMap.put(StationNumber.class.getSimpleName(), new StationNumber());
|
||||
ncParamsMap.put(TopOfIcing.class.getSimpleName(), new TopOfIcing());
|
||||
ncParamsMap.put(TopOfTurbulence.class.getSimpleName(), new TopOfTurbulence());
|
||||
ncParamsMap.put(TopOfWeather.class.getSimpleName(), new TopOfWeather());
|
||||
ncParamsMap.put(TotalSkyCoverFcst12hr.class.getSimpleName(), new TotalSkyCoverFcst12hr());
|
||||
ncParamsMap.put(TotalPrecip.class.getSimpleName(), new TotalPrecip());
|
||||
ncParamsMap.put(TotalSkyCoverFcst12hr.class.getSimpleName(), new TotalSkyCoverFcst12hr());
|
||||
ncParamsMap.put(TurbulenceFrequencySymbol.class.getSimpleName(), new TurbulenceFrequencySymbol());
|
||||
ncParamsMap.put(TurbulenceIntensitySymbol.class.getSimpleName(), new TurbulenceIntensitySymbol());
|
||||
ncParamsMap.put(TurbulenceTypeSymbol.class.getSimpleName(), new TurbulenceTypeSymbol());
|
||||
ncParamsMap.put(TurbulentKineticEnergy.class.getSimpleName(), new TurbulentKineticEnergy());
|
||||
ncParamsMap.put(EstStormDirectionUComp.class.getSimpleName(), new EstStormDirectionUComp());
|
||||
ncParamsMap.put(UCompAt10Meters.class.getSimpleName(), new UCompAt10Meters());
|
||||
ncParamsMap.put(UncondProbOf06HrSevereWeather.class.getSimpleName(), new UncondProbOf06HrSevereWeather());
|
||||
ncParamsMap.put(UncondProbOf12HrSevereWeather.class.getSimpleName(), new UncondProbOf12HrSevereWeather());
|
||||
ncParamsMap.put(UncondProbOf24HrSevereWeather.class.getSimpleName(), new UncondProbOf24HrSevereWeather());
|
||||
|
||||
public @Retention(RetentionPolicy.RUNTIME) @interface DeriveMethod {
|
||||
}
|
||||
ncParamsMap.put(UncondProbOfTstorms2hr.class.getSimpleName(), new UncondProbOfTstorms2hr());
|
||||
ncParamsMap.put(UncondProbOfTstorms6hr.class.getSimpleName(), new UncondProbOfTstorms6hr());
|
||||
ncParamsMap.put(UncondProbOfTstorms12hr.class.getSimpleName(), new UncondProbOfTstorms12hr());
|
||||
ncParamsMap.put(UncondProbOfTstorms24hr.class.getSimpleName(), new UncondProbOfTstorms24hr());
|
||||
ncParamsMap.put(VCompAt10Meters.class.getSimpleName(), new VCompAt10Meters());
|
||||
ncParamsMap.put(WindDirectionUComp.class.getSimpleName(), new WindDirectionUComp());
|
||||
ncParamsMap.put(VaporPressure.class.getSimpleName(), new VaporPressure());
|
||||
ncParamsMap.put(EstStormDirectionVComp.class.getSimpleName(), new EstStormDirectionVComp());
|
||||
ncParamsMap.put(IsentropesVerticalSeparation.class.getSimpleName(), new IsentropesVerticalSeparation());
|
||||
ncParamsMap.put(VerticalVelocity.class.getSimpleName(), new VerticalVelocity());
|
||||
ncParamsMap.put(VirtualPotentialTemp.class.getSimpleName(), new VirtualPotentialTemp());
|
||||
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(WaveSteepness.class.getSimpleName(), new WaveSteepness());
|
||||
ncParamsMap.put(WetBulbPotentialTemp.class.getSimpleName(), new WetBulbPotentialTemp());
|
||||
ncParamsMap.put(WetBulbTemp.class.getSimpleName(), new WetBulbTemp());
|
||||
// ncParamsMap.put( WindBarb.class.getSimpleName(), new WindBarb() );
|
||||
ncParamsMap.put(WindChillEquivalentTemp.class.getSimpleName(), new WindChillEquivalentTemp());
|
||||
ncParamsMap.put(WindChillTemperature.class.getSimpleName(), new WindChillTemperature());
|
||||
ncParamsMap.put(WindSpeedComp.class.getSimpleName(), new WindSpeedComp());
|
||||
ncParamsMap.put(WindCompDirection.class.getSimpleName(), new WindCompDirection());
|
||||
ncParamsMap.put(WindDirection.class.getSimpleName(), new WindDirection());
|
||||
ncParamsMap.put(WindGust.class.getSimpleName(), new WindGust());
|
||||
ncParamsMap.put(WindSpeed.class.getSimpleName(), new WindSpeed());
|
||||
ncParamsMap.put(CeilingFromSeaLevelWorstCase.class.getSimpleName(), new CeilingFromSeaLevelWorstCase());
|
||||
ncParamsMap.put(FlightRulesIdWorstCase.class.getSimpleName(), new FlightRulesIdWorstCase());
|
||||
ncParamsMap.put(MountainObscThreshMetIndicatorWorstCase.class.getSimpleName(), new MountainObscThreshMetIndicatorWorstCase());
|
||||
ncParamsMap.put(Probability.class.getSimpleName(), new Probability());
|
||||
ncParamsMap.put(ProbableSkyCoverage.class.getSimpleName(), new ProbableSkyCoverage());
|
||||
ncParamsMap.put(ReportTimeInHourMins.class.getSimpleName(), new ReportTimeInHourMins());
|
||||
ncParamsMap.put(ProbablePresentWeather.class.getSimpleName(), new ProbablePresentWeather());
|
||||
ncParamsMap.put(LowLevelWindShear.class.getSimpleName(), new LowLevelWindShear());
|
||||
ncParamsMap.put(WxPresent.class.getSimpleName(), new WxPresent());
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isValidMetParameterName(String metPrmName) {
|
||||
return ncParamsMap.containsKey(metPrmName);
|
||||
}
|
||||
|
||||
// get the default units
|
||||
public AbstractMetParameter createParameter(String prmName) {
|
||||
String ncParamName;
|
||||
|
||||
if (ncParamsAliasMap.containsKey(prmName)) {
|
||||
ncParamName = ncParamsAliasMap.get(prmName);
|
||||
} else {
|
||||
ncParamName = prmName;
|
||||
}
|
||||
|
||||
if (ncParamName == null || !ncParamsMap.containsKey(ncParamName)) {
|
||||
System.out.println("can't find ncParam for : " + prmName);
|
||||
return null;
|
||||
}
|
||||
|
||||
AbstractMetParameter ncParam = ncParamsMap.get(ncParamName);
|
||||
|
||||
try {
|
||||
AbstractMetParameter newParam = (AbstractMetParameter) ncParam.getClass().getConstructor().newInstance();
|
||||
return newParam;
|
||||
} catch (Exception e) {
|
||||
System.out.println("error getting newInstance for metParam " + ncParam.getClass().getSimpleName());
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
// u is the expected units and must be compatible with the units for the implemented
|
||||
// Quantity.
|
||||
public AbstractMetParameter createParameter(String prmName, String unitName) {
|
||||
Unit<?> units;
|
||||
|
||||
if (unitName == null) {
|
||||
units = Unit.ONE;
|
||||
} else {
|
||||
try {
|
||||
units = UnitFormat.getUCUMInstance().parseProductUnit(unitName, new ParsePosition(0));
|
||||
} catch (ParseException e) {
|
||||
System.out.println("unable to determine units for " + unitName);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
return createParameter(prmName, units);
|
||||
}
|
||||
|
||||
// create a parameter value with MISSING value.
|
||||
// name may be an alias, or the name of the parameter
|
||||
//
|
||||
public AbstractMetParameter createParameter(String prmName, Unit<?> u) {
|
||||
AbstractMetParameter newParam = createParameter(prmName);
|
||||
newParam.setUnitPair(u);
|
||||
return newParam;
|
||||
}
|
||||
|
||||
public AbstractMetParameter createParameter(String prmName, DataTime dt) {
|
||||
AbstractMetParameter newParam = createParameter(prmName);
|
||||
newParam.setValidTime(dt);
|
||||
return newParam;
|
||||
}
|
||||
|
||||
public AbstractMetParameter createParameter(String prmName, Unit<?> u, DataTime dt) {
|
||||
AbstractMetParameter newParam = createParameter(prmName);
|
||||
newParam.setValidTime(dt);
|
||||
newParam.setUnitPair(u);
|
||||
return newParam;
|
||||
}
|
||||
|
||||
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));
|
||||
// return false;
|
||||
}
|
||||
|
||||
ncParamsAliasMap.put(alias, prmName);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@DynamicSerialize
|
||||
public static class NotDerivableException extends Exception {
|
||||
|
||||
@DynamicSerializeElement
|
||||
private static final long serialVersionUID = -5750539413381916413L;
|
||||
|
||||
public NotDerivableException(String msg) {
|
||||
super(msg);
|
||||
}
|
||||
}
|
||||
|
||||
public @Retention(RetentionPolicy.RUNTIME)
|
||||
@interface DeriveMethod {
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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,27 +13,64 @@ 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 {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 4636092028758506639L;
|
||||
private static final long serialVersionUID = 4636092028758506639L;
|
||||
|
||||
public PressChange3Hr() {
|
||||
super( UNIT );
|
||||
}
|
||||
public PressChange3Hr() {
|
||||
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;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
|
@ -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
|
|
@ -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.
|
||||
*/
|
||||
private static final long serialVersionUID = -4616340047592131749L;
|
||||
/**
|
||||
* 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
|
||||
}
|
||||
public PressureTendencySymbol() {
|
||||
super(UNIT);
|
||||
// TTR 922-923, This is needed to display PTSY
|
||||
setValueIsString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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,52 +14,53 @@ 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 {
|
||||
|
||||
/**
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@DynamicSerializeElement
|
||||
private static final long serialVersionUID = 1580959009469861384L;
|
||||
@DynamicSerializeElement
|
||||
private static final long serialVersionUID = 1580959009469861384L;
|
||||
|
||||
public RelativeHumidity( ) throws Exception {
|
||||
super( new UnitAdapter().marshal(UNIT) );
|
||||
}
|
||||
public RelativeHumidity() throws Exception {
|
||||
super(new UnitAdapter().marshal(UNIT));
|
||||
}
|
||||
|
||||
// protected AbstractMetParameter create( Amount val ) {
|
||||
//// RelativeHumidity p ;
|
||||
// try {
|
||||
// RelativeHumidity p = new RelativeHumidity();
|
||||
// p.setValue( val );
|
||||
// return p;
|
||||
// } catch (Exception e) {
|
||||
// // TODO Auto-generated catch block
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
// return null;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public boolean isUnitCompatible( Unit<?> u) {
|
||||
// return UNIT.isCompatible( u );
|
||||
// }
|
||||
// protected AbstractMetParameter create( Amount val ) {
|
||||
//// RelativeHumidity p ;
|
||||
// try {
|
||||
// RelativeHumidity p = new RelativeHumidity();
|
||||
// p.setValue( val );
|
||||
// return p;
|
||||
// } catch (Exception e) {
|
||||
// // TODO Auto-generated catch block
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
// return null;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public boolean isUnitCompatible( Unit<?> u) {
|
||||
// return UNIT.isCompatible( u );
|
||||
// }
|
||||
|
||||
@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);
|
||||
} else
|
||||
this.setValueToMissing();
|
||||
|
||||
return this;
|
||||
}
|
||||
@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);
|
||||
} else
|
||||
this.setValueToMissing();
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -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="
|
||||
|
|
|
@ -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,220 +36,226 @@ 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
|
||||
public class NcSoundingProfile implements ISerializableObject{
|
||||
/**
|
||||
public class NcSoundingProfile implements ISerializableObject {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 6858474095965608817L;
|
||||
private static final long serialVersionUID = 6858474095965608817L;
|
||||
|
||||
@DynamicSerializeElement
|
||||
@DynamicSerializeElement
|
||||
public static final float MISSING = -9999.f;
|
||||
public static enum PfcSndType {
|
||||
|
||||
public static enum PfcSndType {
|
||||
NAMSND, GFSSND, RUC2SND, RUCPTYPSND, BROWSE, NONE
|
||||
};
|
||||
|
||||
public static enum MdlSndType {
|
||||
ANY, NONE
|
||||
ANY, NONE
|
||||
};
|
||||
public static enum ObsSndType {
|
||||
NCUAIR, UAIR, DROP, TAMDAR, BUFRUA //same as uair but using bufrua decoder and data is saved in HDF5
|
||||
,BROWSE, NONE
|
||||
|
||||
public static enum ObsSndType {
|
||||
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,
|
||||
//and stnname is string of character which is stnid in UAIR..
|
||||
//type conversion is done at BUFRUA code.
|
||||
|
||||
// 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,
|
||||
// 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
|
||||
LATLON, STNID, STNNUM, NONE
|
||||
};
|
||||
|
||||
@DynamicSerializeElement
|
||||
private List<NcSoundingLayer> soundingLyLst;
|
||||
|
||||
@DynamicSerializeElement
|
||||
private List<NcSoundingLayer2> soundingLyLst2;
|
||||
|
||||
@DynamicSerializeElement
|
||||
|
||||
@DynamicSerializeElement
|
||||
private float stationElevation;
|
||||
//@DynamicSerializeElement
|
||||
//private String stationId;
|
||||
|
||||
// @DynamicSerializeElement
|
||||
// private String stationId;
|
||||
@DynamicSerializeElement
|
||||
private double stationLatitude;
|
||||
private double stationLatitude;
|
||||
|
||||
@DynamicSerializeElement
|
||||
private double stationLongitude;
|
||||
private double stationLongitude;
|
||||
|
||||
@DynamicSerializeElement
|
||||
private float sfcPress;
|
||||
|
||||
|
||||
@DynamicSerializeElement
|
||||
private String stationId;
|
||||
|
||||
@DynamicSerializeElement
|
||||
private int stationNum;
|
||||
|
||||
|
||||
@DynamicSerializeElement
|
||||
private long fcsTime;
|
||||
|
||||
@DynamicSerializeElement
|
||||
private NcSoundingCube.QueryStatus rtnStatus = NcSoundingCube.QueryStatus.OK;
|
||||
|
||||
|
||||
public NcSoundingCube.QueryStatus getRtnStatus() {
|
||||
return rtnStatus;
|
||||
}
|
||||
// Support PW
|
||||
@DynamicSerializeElement
|
||||
private float pw = -1;
|
||||
|
||||
public void setRtnStatus(NcSoundingCube.QueryStatus rtnStatus) {
|
||||
this.rtnStatus = rtnStatus;
|
||||
}
|
||||
public NcSoundingCube.QueryStatus getRtnStatus() {
|
||||
return rtnStatus;
|
||||
}
|
||||
|
||||
public String getStationId() {
|
||||
return stationId;
|
||||
}
|
||||
public void setRtnStatus(NcSoundingCube.QueryStatus rtnStatus) {
|
||||
this.rtnStatus = rtnStatus;
|
||||
}
|
||||
|
||||
public void setStationId(String stnId) {
|
||||
this.stationId = stnId;
|
||||
}
|
||||
public String getStationId() {
|
||||
return stationId;
|
||||
}
|
||||
|
||||
public int getStationNum() {
|
||||
return stationNum;
|
||||
}
|
||||
public void setStationId(String stnId) {
|
||||
this.stationId = stnId;
|
||||
}
|
||||
|
||||
public void setStationNum(int stnNum) {
|
||||
this.stationNum = stnNum;
|
||||
}
|
||||
public int getStationNum() {
|
||||
return stationNum;
|
||||
}
|
||||
|
||||
|
||||
public long getFcsTime() {
|
||||
return fcsTime;
|
||||
}
|
||||
public void setStationNum(int stnNum) {
|
||||
this.stationNum = stnNum;
|
||||
}
|
||||
|
||||
public void setFcsTime(long fcsTime) {
|
||||
this.fcsTime = fcsTime;
|
||||
}
|
||||
public long getFcsTime() {
|
||||
return fcsTime;
|
||||
}
|
||||
|
||||
public List<NcSoundingLayer> getSoundingLyLst() {
|
||||
return soundingLyLst;
|
||||
}
|
||||
public void setFcsTime(long fcsTime) {
|
||||
this.fcsTime = fcsTime;
|
||||
}
|
||||
|
||||
public void setSoundingLyLst(List<NcSoundingLayer> soundingLyLst) {
|
||||
this.soundingLyLst = soundingLyLst;
|
||||
}
|
||||
public List<NcSoundingLayer> getSoundingLyLst() {
|
||||
return soundingLyLst;
|
||||
}
|
||||
|
||||
public void setSoundingLyLst(List<NcSoundingLayer> soundingLyLst) {
|
||||
this.soundingLyLst = soundingLyLst;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the soundingLyLst2
|
||||
*/
|
||||
public List<NcSoundingLayer2> getSoundingLyLst2() {
|
||||
return soundingLyLst2;
|
||||
}
|
||||
* @return the soundingLyLst2
|
||||
*/
|
||||
public List<NcSoundingLayer2> getSoundingLyLst2() {
|
||||
return soundingLyLst2;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param soundingLyLst2 the soundingLyLst2 to set
|
||||
*/
|
||||
public void setSoundingLyLst2(List<NcSoundingLayer2> soundingLyLst2) {
|
||||
this.soundingLyLst2 = soundingLyLst2;
|
||||
}
|
||||
|
||||
public float getStationElevation() {
|
||||
return stationElevation;
|
||||
}
|
||||
/**
|
||||
* @param soundingLyLst2
|
||||
* the soundingLyLst2 to set
|
||||
*/
|
||||
public void setSoundingLyLst2(List<NcSoundingLayer2> soundingLyLst2) {
|
||||
this.soundingLyLst2 = soundingLyLst2;
|
||||
}
|
||||
|
||||
public void setStationElevation(float stationElevation) {
|
||||
this.stationElevation = stationElevation;
|
||||
}
|
||||
public float getStationElevation() {
|
||||
return stationElevation;
|
||||
}
|
||||
|
||||
public void setStationElevation(float stationElevation) {
|
||||
this.stationElevation = stationElevation;
|
||||
}
|
||||
|
||||
public double getStationLatitude() {
|
||||
return stationLatitude;
|
||||
}
|
||||
public double getStationLatitude() {
|
||||
return stationLatitude;
|
||||
}
|
||||
|
||||
public void setStationLatitude(double stationLatitude) {
|
||||
this.stationLatitude = stationLatitude;
|
||||
}
|
||||
public void setStationLatitude(double stationLatitude) {
|
||||
this.stationLatitude = stationLatitude;
|
||||
}
|
||||
|
||||
public double getStationLongitude() {
|
||||
return stationLongitude;
|
||||
}
|
||||
public double getStationLongitude() {
|
||||
return stationLongitude;
|
||||
}
|
||||
|
||||
public void setStationLongitude(double stationLongitude) {
|
||||
this.stationLongitude = stationLongitude;
|
||||
}
|
||||
public void setStationLongitude(double stationLongitude) {
|
||||
this.stationLongitude = stationLongitude;
|
||||
}
|
||||
|
||||
public float getSfcPress() {
|
||||
return sfcPress;
|
||||
}
|
||||
public float getSfcPress() {
|
||||
return sfcPress;
|
||||
}
|
||||
|
||||
public void setSfcPress(float sfcPress) {
|
||||
this.sfcPress = sfcPress;
|
||||
}
|
||||
public void setSfcPress(float sfcPress) {
|
||||
this.sfcPress = sfcPress;
|
||||
}
|
||||
|
||||
public static long getSerialVersionUID() {
|
||||
return serialVersionUID;
|
||||
}
|
||||
public static long getSerialVersionUID() {
|
||||
return serialVersionUID;
|
||||
}
|
||||
|
||||
// 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) {
|
||||
super();
|
||||
this.soundingLyLst2 = soundingLyLst2;
|
||||
this.soundingLyLst = soundingLyLst;
|
||||
this.stationElevation = stationElevation;
|
||||
this.stationId = stationId;
|
||||
this.stationLatitude = stationLatitude;
|
||||
this.stationLongitude = stationLongitude;
|
||||
this.sfcPress = sfcPress;
|
||||
this.stationNum = stnNum;
|
||||
}
|
||||
// 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) {
|
||||
super();
|
||||
this.soundingLyLst2 = soundingLyLst2;
|
||||
this.soundingLyLst = soundingLyLst;
|
||||
this.stationElevation = stationElevation;
|
||||
this.stationId = stationId;
|
||||
this.stationLatitude = stationLatitude;
|
||||
this.stationLongitude = stationLongitude;
|
||||
this.sfcPress = sfcPress;
|
||||
this.stationNum = stnNum;
|
||||
}
|
||||
|
||||
public NcSoundingProfile() {
|
||||
super();
|
||||
this.soundingLyLst = new ArrayList<NcSoundingLayer>();
|
||||
this.soundingLyLst2 = new ArrayList<NcSoundingLayer2>();
|
||||
this.stationElevation = MISSING;
|
||||
this.stationId = "";
|
||||
this.stationLatitude = MISSING;
|
||||
this.stationLongitude = MISSING;
|
||||
this.sfcPress = MISSING;
|
||||
this.stationNum= 0;
|
||||
}
|
||||
public NcSoundingProfile() {
|
||||
super();
|
||||
this.soundingLyLst = new ArrayList<NcSoundingLayer>();
|
||||
this.soundingLyLst2 = new ArrayList<NcSoundingLayer2>();
|
||||
this.stationElevation = MISSING;
|
||||
this.stationId = "";
|
||||
this.stationLatitude = MISSING;
|
||||
this.stationLongitude = MISSING;
|
||||
this.sfcPress = MISSING;
|
||||
this.stationNum = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
@Override
|
||||
protected AbstractStorageRecord cloneInternal() {
|
||||
// TODO Auto-generated method stub
|
||||
System.out.println("NcSoundingProfile cloneInternal()");
|
||||
return null;
|
||||
}
|
||||
public float getPw() {
|
||||
return pw;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getDataObject() {
|
||||
// TODO Auto-generated method stub
|
||||
System.out.println("NcSoundingProfile getDataObject()");
|
||||
return null;
|
||||
}
|
||||
public void setPw(float pw) {
|
||||
this.pw = pw;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSizeInBytes() {
|
||||
// TODO Auto-generated method stub
|
||||
System.out.println("NcSoundingProfile getSizeInBytes()");
|
||||
return 0;
|
||||
}
|
||||
/*
|
||||
* @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
|
||||
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;
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -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));
|
||||
// }
|
||||
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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.
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue