Skip to content

Commit cd5f282

Browse files
committed
Merge branch 'webobs-2.7'
2 parents 7bdfcfe + 73ebc53 commit cd5f282

25 files changed

Lines changed: 142 additions & 35 deletions

File tree

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,7 @@ PACK/*
1616
!PACK/fpm*
1717
!PACK/showi18id
1818
!PACK/CHECKLIST.txt
19+
*.swo
20+
*.swp
1921
.DS_Store
2022
**/.DS_Store

CODE/cgi-bin/formEXTENSO.pl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ =head1 Query string parameter
5151

5252
die "You can't edit EXTENSO reports." if (!clientHasEdit(type=>"authforms",name=>"EXTENSO"));
5353

54-
my $FORM = new WebObs::Form('EXTENSO_LEG');
54+
my $FORM = new WebObs::Form('EXTENSO');
5555
my %Ns;
5656
my @NODESSelList;
5757
my %Ps = $FORM->procs;

CODE/cgi-bin/mailInfo_OVPF.pl

100644100755
File mode changed.

CODE/cgi-bin/mailInfo_REVOSIMA.pl

100644100755
File mode changed.

CODE/cgi-bin/showEXTENSO.pl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,8 @@ =head1 Query string parameters
8181
# ---- standard FORMS inits ----------------------------------
8282
my $QP = $cgi->Vars;
8383

84+
$QP->{'form'} ||= "EXTENSO";
85+
8486
die "You can't view EXTENSO reports." if (!clientHasRead(type=>"authforms",name=>$QP->{form}));
8587
my $displayOnly = clientHasEdit(type=>"authforms",name=>$QP->{form}) ? 0 : 1;
8688

CODE/etc/rawformats.conf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ winston|EARTHWORM|EarthWorm Winston Wave Server data request|
2121
gipsy|GNSS|JPL GIPSY-OASIS .tdp file|ANTENNA,RECEIVER,XYZ,CHAR9
2222
gipsyx|GNSS|JPL GipsyX .tdp file|ANTENNA,RECEIVER,CHAR9
2323
globkval|GNSS|MIT GAMIT/GLOBK VAL file|CHAR9
24+
spotgins-ippp|GNSS|SPOTGINS IPPP timeseries|CHAR9
25+
gamit-pos|GNSS|MIT GAMIT/GLOBL POS timeseries|CHAR9
2426
sbe37-ascii|GNSS|sbe37 OBP text file|DATA_ERROR,DATA_DECIMATE,CHAR9
2527
usgs-rneu|GNSS|USGS RNEU text file|CHAR9
2628
ics-neu|GNSS|ICS NEU text file|CHAR9

CODE/matlab/readfmtdata.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
%
2525
% Authors: François Beauducel, Jean-Marie Saurel, WEBOBS/IPGP
2626
% Created: 2013-12-29, in Guadeloupe, French West Indies
27-
% Updated: 2024-07-02
27+
% Updated: 2025-01-23
2828

2929
wofun = sprintf('WEBOBS{%s}',mfilename);
3030

@@ -72,7 +72,7 @@
7272
case {'miniseed','seedlink','arclink','combined','fdsnws-dataselect'}
7373
D(n) = readfmtdata_miniseed(WO,P,N(n),F);
7474

75-
case {'globkval','gipsy','gipsyx','gipsy-tdp','usgs-rneu','ies-neu','ogc-neu','ingv-gps','sbe37-ascii'}
75+
case {'globkval','gipsy','gipsyx','gipsy-tdp','usgs-rneu','ies-neu','ogc-neu','ingv-gps','sbe37-ascii','spotgins-ippp','gamit-pos'}
7676
D(n) = readfmtdata_gnss(WO,P,N(n),F);
7777

7878
case {'hyp71sum2k','fdsnws-event','scevtlog-xml'}

CODE/matlab/readfmtdata_gnss.m

Lines changed: 107 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,18 @@
3434
% data format: extract from SmoothFinal.tdp output file (grep "Station.SSSS.State.pos.[XYZ]" lines)
3535
% node calibration: no .CLB file or 4 components (East, North, Up) in meters and (Orbit)
3636
%
37+
% format 'gins-ippp'
38+
% type: GINS IPPP solutions
39+
% filename/url: P.RAWDATA (use $FID to point the right file/url)
40+
% data format: yyyymmdd hhmmss yyyy.yyyyyyyyy jjjjj.jj X Y Z dX dY dZ E N V dE dN dV
41+
% node calibration: no .CLB file or 4 components (East, North, Up) in meters and (Orbit)
42+
%
43+
% format 'gamit-pos'
44+
% type: GAMIT/GLOBK POS file
45+
% filename/url: P.RAWDATA (use $FID to point the right file/url)
46+
% data format: yyyymmdd jjjjj.jjjj E N U dE dN dU
47+
% node calibration: no .CLB file or 4 components (East, North, Up) in meters and (Orbit)
48+
%
3749
% format 'usgs-rneu'
3850
% type: USGS GPS results ITRF08
3951
% filename/url: P.RAWDATA (use $FID to point the right file/url)
@@ -55,10 +67,12 @@
5567
%
5668
% Authors: François Beauducel and Jean-Bernard de Chabalier, WEBOBS/IPGP
5769
% Created: 2016-07-10, in Yogyakarta (Indonesia)
58-
% Updated: 2021-11-12
70+
% Updated: 2025-01-23
5971

6072
wofun = sprintf('WEBOBS{%s}',mfilename);
6173

74+
% minimum decent error is 0.1 mm (!)
75+
min_error = 1e-4;
6276

6377
switch F.fmt
6478
% -----------------------------------------------------------------------------
@@ -118,6 +132,50 @@
118132
%end
119133
%D.ITRF_YEAR = itrf;
120134

135+
136+
% -----------------------------------------------------------------------------
137+
case 'gamit-pos'
138+
% format example
139+
% yyyymmdd jjjjj.jjjj E N U dE dN dU
140+
% 20100101 55197.4993 -0.09875 -0.11953 0.00075 0.00198 0.00161 0.00645
141+
142+
fdat = sprintf('%s/%s.dat',F.ptmp,N.ID);
143+
wosystem(sprintf('rm -f %s',fdat),P);
144+
for a = 1:length(F.raw)
145+
fraw = F.raw{a};
146+
cmd0 = sprintf('awk ''/^[^!]/ {print}'' >> %s',fdat); % removes header lines
147+
if strncmpi('http',fraw,4)
148+
s = wosystem(sprintf('curl -s -S "%s" | %s',fraw,cmd0),P);
149+
if s ~= 0
150+
break;
151+
end
152+
else
153+
s = wosystem(sprintf('cat %s | %s',fraw,cmd0),P);
154+
end
155+
if s ~= 0
156+
fprintf('%s: ** WARNING ** Raw data "%s" not found.\n',wofun,fraw);
157+
end
158+
end
159+
160+
% load the file
161+
if exist(fdat,'file')
162+
dd = load(fdat);
163+
else
164+
dd = [];
165+
end
166+
if ~isempty(dd)
167+
t = dd(:,2) + 678941.5007; % converts MJD to datenum
168+
d = [dd(:,3:5),zeros(size(dd,1),1)]; % North(mm),East(mm),Up(mm) => E(m),N(m),U(m),Orbit
169+
e = dd(:,6:8);
170+
e(e<min_error) = min_error;
171+
fprintf('%d data imported.\n',size(dd,1));
172+
else
173+
fprintf('no data found!\n')
174+
t = [];
175+
d = [];
176+
e = [];
177+
end
178+
121179
% -----------------------------------------------------------------------------
122180
case {'gipsy','gipsy-tdp','gipsyx'}
123181

@@ -183,8 +241,7 @@
183241
% converts cartesian geocentric (X,Y,Z) to UTM, estimating errors
184242
[enu,e] = cart2utm(dd(:,[2,6,10])*kmfact,dd(:,[3,7,11])*kmfact);
185243
d = [enu,dd(:,4)];
186-
% minimum decent error is 1 mm (!)
187-
e(e<1e-3) = 1e-3;
244+
e(e<min_error) = min_error;
188245
fprintf(' %d data imported.\n',size(dd,1));
189246
else
190247
fprintf(' no data found!\n')
@@ -194,6 +251,49 @@
194251
end
195252
%D.ITRF_YEAR = 'ITRF08';
196253

254+
% -----------------------------------------------------------------------------
255+
case 'spotgins-ippp'
256+
% format example
257+
% !yyyymmdd hhmmss yyyy.yyyyyyyyy jjjjj.jj X_position Y_position Z_position dX dY dZ E N V dE dN dV
258+
% 20160723 65619 2016.558521561 57592.29 4182067.152057 570976.439258 4765940.539811 0.000611 0.000218 0.000673 -0.006574 -0.008848 -0.014844 0.000205 0.000307 0.000859
259+
260+
fdat = sprintf('%s/%s.dat',F.ptmp,N.ID);
261+
wosystem(sprintf('rm -f %s',fdat),P);
262+
for a = 1:length(F.raw)
263+
fraw = F.raw{a};
264+
cmd0 = sprintf('awk ''/^[^!]/ {print}'' >> %s',fdat); % removes header lines
265+
if strncmpi('http',fraw,4)
266+
s = wosystem(sprintf('curl -s -S "%s" | %s',fraw,cmd0),P);
267+
if s ~= 0
268+
break;
269+
end
270+
else
271+
s = wosystem(sprintf('cat %s | %s',fraw,cmd0),P);
272+
end
273+
if s ~= 0
274+
fprintf('%s: ** WARNING ** Raw data "%s" not found.\n',wofun,fraw);
275+
end
276+
end
277+
278+
% load the file
279+
if exist(fdat,'file')
280+
dd = load(fdat);
281+
else
282+
dd = [];
283+
end
284+
if ~isempty(dd)
285+
t = datenum(dd(:,3),1,1,0,0,0);
286+
d = [dd(:,11:13),zeros(size(dd,1),1)]; % North(mm),East(mm),Up(mm) => E(m),N(m),U(m),Orbit
287+
e = dd(:,14:16);
288+
e(e<min_error) = min_error;
289+
fprintf('%d data imported.\n',size(dd,1));
290+
else
291+
fprintf('no data found!\n')
292+
t = [];
293+
d = [];
294+
e = [];
295+
end
296+
197297
% -----------------------------------------------------------------------------
198298
case 'usgs-rneu'
199299
% format example
@@ -230,8 +330,7 @@
230330
t = datenum(ty,tm,td,12,0,0); % date is YYYYMMDD and we force time to 12:00:00
231331
d = [dd(:,[3,2,4])/1e3,dd(:,5)]; % North(mm),East(mm),Up(mm),Orbit => E(m),N(m),U(m),O
232332
e = dd(:,[7,6,8])/1e3;
233-
% minimum decent error is 1 mm (!)
234-
e(e<1e-3) = 1e-3;
333+
e(e<min_error) = min_error;
235334
fprintf('%d data imported.\n',size(dd,1));
236335
else
237336
fprintf('no data found!\n')
@@ -274,8 +373,7 @@
274373
t = datenum(dd(:,1),1,1,0,0,0); % date is decimal year
275374
d = [dd(:,[4,2,6]),zeros(size(dd,1),1)]; % North(mm),East(mm),Up(mm),Orbit => E(m),N(m),U(m),O
276375
e = dd(:,[5,3,7]);
277-
% minimum decent error is 1 mm (!)
278-
e(e<1e-3) = 1e-3;
376+
e(e<min_error) = min_error;
279377
fprintf('%d data imported.\n',size(dd,1));
280378
else
281379
fprintf('no data found!\n')
@@ -318,8 +416,7 @@
318416
t = datenum(dd(:,2),dd(:,3),dd(:,4),12,0,0); % here we force time to noon
319417
d = [dd(:,[6,5,7]),zeros(size(dd,1),1)]; % North(mm),East(mm),Up(mm) => E(m),N(m),U(m),Orbit
320418
e = dd(:,[9,8,10]);
321-
% minimum decent error is 1 mm (!)
322-
e(e<1e-3) = 1e-3;
419+
e(e<min_error) = min_error;
323420
fprintf('%d data imported.\n',size(dd,1));
324421
else
325422
fprintf('no data found!\n')
@@ -367,8 +464,7 @@
367464
t = datenum(dd(:,1),1,1); % here we force time to January 1st!
368465
d = [dd(:,2:4),zeros(size(dd,1),1)];
369466
e = dd(:,5:7);
370-
% minimum decent error is 1 mm (!)
371-
e(e<1e-3) = 1e-3;
467+
e(e<min_error) = min_error;
372468
fprintf('%d data imported.\n',size(dd,1));
373469
else
374470
fprintf('no data found!\n')

CODE/matlab/superprocs/gridmaps.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ function gridmaps(grids,outd,varargin)
4040
%
4141
% Author: F. Beauducel, C. Brunet, WEBOBS/IPGP
4242
% Created: 2013-09-13 in Paris, France
43-
% Updated: 2024-12-04
43+
% Updated: 2025-01-23
4444

4545

4646
WO = readcfg;
@@ -211,11 +211,11 @@ function gridmaps(grids,outd,varargin)
211211

212212
% looks for supplementary maps (MAP*_XYLIM|LON1,LON2,LAT1,LAT2 keys)
213213
if merge
214-
maps(1,:) = {'MAP',mmaplim};
214+
maps = {'MAP',mmaplim};
215215
else
216216
fd = fieldnames(G);
217217
k = find(~cellfun(@isempty,regexp(fd,'^MAP\d+_XYLIM$')));
218-
maps(1,:) = {'MAP',[]};
218+
maps = {'MAP',[]};
219219
for ii = 1:length(k)
220220
x = split(fd{k(ii)},'_');
221221
v = G.(fd{k(ii)});

SETUP/DATA/NODES/GCSBCM1/GCSBCM1.clb

Whitespace-only changes.

0 commit comments

Comments
 (0)