Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Olivier Bonnefon
Aedes
Commits
5cf08f3c
Commit
5cf08f3c
authored
Jan 13, 2020
by
Olivier Bonnefon
Browse files
update pretraiment for data until 2019
parent
2d93c64a
Changes
16
Expand all
Show whitespace changes
Inline
Side-by-side
AEDESINTER_AUTOROUTES_ADAPTIV/VISU/checkSimu.edp
View file @
5cf08f3c
load "BinaryIO";
include "paramsTS.edp";
//
string BASEREP="../SAVE
/MEDIAN
/";
string
BASEREP
=
"
..
/SAVE
/
HIGHT/"
;
string
BASEREP
=
"../SAVE
_HIGHT
/"
;
//
string BASEREP="
/mnt/BIGDATA/PUBLIC/olivierB/AEDESINTER_AUTOROUTES_14_05
/SAVE
_
HIGHT/";
int
curStep
=
0
;
verbosity
=
0
;
int
failed
=
0
;
int
[
int
]
sizeBinary
(
15
);
for
(
int
ii
=
0
;
ii
<
15
;
ii
++
)
sizeBinary
[
ii
]
=
0
;
int
sizeBinaryAux
=
0
;
macro
checkFile
(
XXINT
){
string
FILENAME
=
BASEREP
+
"u2d"
+
string
(
XXINT
)
+
"__rep_"
+
string
(
numRun
);
failed
=
0
;
if
(
exec
(
"ls "
+
FILENAME
+
" 2>/dev/null >/dev/null"
)){
nofile
=
1
;
cout
<<
"missing file "
<<
FILENAME
<<
endl
;
failed
=
1
;
}
else
{
if
(
!
sizeBinary
[
XXINT
]){
GetSizeVec
(
sizeBinary
[
XXINT
],
FILENAME
);
}
else
{
GetSizeVec
(
sizeBinaryAux
,
FILENAME
);
if
(
sizeBinaryAux
!=
sizeBinary
[
XXINT
])
if
(
sizeBinaryAux
!=
sizeBinary
[
XXINT
])
{
cout
<<
"ERROR "
+
FILENAME
+
" size is "
<<
sizeBinaryAux
<<
" and should be "
<<
sizeBinary
[
XXINT
]
<<
endl
;
failed
=
1
;
}
}
}
}
//
int
numMissing
=
0
;
int
nbSub
=
0
;
int
batchSize
=
100
;
for
(
int
numRun
=
0
;
numRun
<
100
;
numRun
++
){
int
nofile
=
0
;
//for (CURYEAR=FIRSTYEAR; CURYEAR<=LASTYEAR; CURYEAR++){
// for ( curStep=0;curStep<nbSteps;curStep++){
for
(
int
ii
=
0
;
ii
<
15
;
ii
++
)
for
(
int
ii
=
0
;
ii
<
15
;
ii
++
)
{
checkFile
(
ii
);
if
(
!
nofile
){
if
(
failed
)
break
;
}
if
(
!
failed
){
cout
<<
"numRun="
<<
numRun
<<
" ok"
<<
endl
;
}
else
{
cout
<<
"numRun="
<<
numRun
<<
" missing"
<<
endl
;
cout
<<
"numRun="
<<
numRun
<<
" failed"
<<
endl
;
if
(
nbSub
==
batchSize
){
nbSub
=
0
;
numMissing
+=
1
;
}
if
(
nbSub
==
0
){
ofstream
pF
(
"runMissing"
+
string
(
numMissing
)
+
".sh"
);
pF
<<
"#!/bin/bash"
<<
endl
;
pF
<<
"#$ -S /bin/bash"
<<
endl
;
pF
<<
"#$ -N Amissing"
<<
endl
;
pF
<<
"#$ -V"
<<
endl
;
pF
<<
"#$ -cwd"
<<
endl
;
}
ofstream
pF
(
"runMissing"
+
string
(
numMissing
)
+
".sh"
,
append
);
pF
<<
"/opt/freefem++-3.58/src/nw/FreeFem++-nw cas1.edp "
<<
numRun
<<
" 1"
<<
endl
;
nbSub
+=
1
;
}
}
AEDESINTER_AUTOROUTES_ADAPTIV/VISU/postT.cpp
View file @
5cf08f3c
...
...
@@ -4,7 +4,7 @@
#include <string.h>
#include <stdlib.h>
using
namespace
std
;
#define BASEREP "../SAVE
/HIGHT
/"
#define BASEREP "../SAVE
_LOW
/"
long
int
GetSizeVec
(
char
*
name
){
std
::
ifstream
infile
(
name
,
ios_base
::
binary
);
...
...
@@ -43,7 +43,7 @@ void SaveVec(double * pD, long int N, char* name)
int
main
(){
char
filename
[
256
];
int
N
=
4
;
int
N
=
100
;
double
*
pBufTraj
[
15
];
double
*
pMaxTraj
[
15
];
double
*
pMinTraj
[
15
];
...
...
AEDESINTER_AUTOROUTES_ADAPTIV/VISU/saveVtk.edp
View file @
5cf08f3c
savevtk
(
OUTPUTDIR
+
"D2/u"
+
maxormin
+
"0s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th0
,
utm12d0
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
maxormin
+
"1s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th1
,
utm12d1
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
maxormin
+
"2s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th2
,
utm12d2
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
maxormin
+
"3s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th3
,
utm12d3
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
maxormin
+
"4s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th4
,
utm12d4
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
maxormin
+
"5s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th5
,
utm12d5
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
maxormin
+
"6s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th6
,
utm12d6
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
maxormin
+
"7s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th7
,
utm12d7
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
maxormin
+
"8s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th8
,
utm12d8
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
maxormin
+
"9s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th9
,
utm12d9
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
maxormin
+
"10s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th10
,
utm12d10
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
maxormin
+
"11s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th11
,
utm12d11
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
maxormin
+
"12s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th12
,
utm12d12
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
maxormin
+
"13s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th13
,
utm12d13
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
maxormin
+
"14s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th14
,
utm12d14
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
SENARIO
+
"_"
+
maxormin
+
"0s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th0
,
utm12d0
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
SENARIO
+
"_"
+
maxormin
+
"1s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th1
,
utm12d1
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
SENARIO
+
"_"
+
maxormin
+
"2s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th2
,
utm12d2
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
SENARIO
+
"_"
+
maxormin
+
"3s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th3
,
utm12d3
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
SENARIO
+
"_"
+
maxormin
+
"4s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th4
,
utm12d4
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
SENARIO
+
"_"
+
maxormin
+
"5s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th5
,
utm12d5
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
SENARIO
+
"_"
+
maxormin
+
"6s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th6
,
utm12d6
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
SENARIO
+
"_"
+
maxormin
+
"7s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th7
,
utm12d7
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
SENARIO
+
"_"
+
maxormin
+
"8s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th8
,
utm12d8
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
SENARIO
+
"_"
+
maxormin
+
"9s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th9
,
utm12d9
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
SENARIO
+
"_"
+
maxormin
+
"10s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th10
,
utm12d10
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
SENARIO
+
"_"
+
maxormin
+
"11s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th11
,
utm12d11
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
SENARIO
+
"_"
+
maxormin
+
"12s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th12
,
utm12d12
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
SENARIO
+
"_"
+
maxormin
+
"13s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th13
,
utm12d13
,
dataname
=
"UU"
);
savevtk
(
OUTPUTDIR
+
"D2/u"
+
SENARIO
+
"_"
+
maxormin
+
"14s"
+
string
(
CURYEAR
)
+
"_"
+
string
(
curStep
)
+
".vtk"
,
Th14
,
utm12d14
,
dataname
=
"UU"
);
AEDESINTER_AUTOROUTES_ADAPTIV/VISU/visuSimu.edp
View file @
5cf08f3c
...
...
@@ -4,75 +4,109 @@ include "myMacro.edp";
include "defGeomGen.edp"
include "defDofsGen.edp"
int
curStep
=
0
;
int
numRun
=
0
;
int
numRun
=
99
;
int
size
;
{
GetSizeVec
(
size
,
"../SAVE/u2d0__rep_"
+
string
(
numRun
));
cout
<<
size
<<
endl
;
// cout<<Vh0.ndof<<endl;
// cout<<((364-58)*Vh0.ndof)<<endl;
// cout<<"utm12d0.n "<<utm12d0.n<<endl;
int
saux
=
(
364
-
58
)
*
7
*
utm12d0
.
n
;
cout
<<
"saux="
<<
saux
<<
endl
;
// SetSizeVec(saux,"../SAVE/u2d0_"+"_rep_"+string(numRun));
// GetSizeVec(size,"../SAVE/u2d0__rep_"+string(numRun));
// cout<<size<<endl;
real
[
int
]
u0
(
size
);
LoadVec
(
u0
,
"../SAVE/u2d0__rep_"
+
string
(
numRun
));
GetSizeVec
(
size
,
"../SAVE/u2d1__rep_"
+
string
(
numRun
));
saux
=
(
364
-
58
)
*
7
*
utm12d1
.
n
;
GetSizeVec
(
size
,
"../SAVE/u2d1__rep_"
+
string
(
numRun
));
cout
<<
size
<<
" "
<<
saux
<<
endl
;
real
[
int
]
u1
(
size
);
LoadVec
(
u1
,
"../SAVE/u2d1__rep_"
+
string
(
numRun
));
GetSizeVec
(
size
,
"../SAVE/u2d2__rep_"
+
string
(
numRun
));
saux
=
(
364
-
58
)
*
7
*
utm12d2
.
n
;
GetSizeVec
(
size
,
"../SAVE/u2d2__rep_"
+
string
(
numRun
));
cout
<<
size
<<
" "
<<
saux
<<
endl
;
real
[
int
]
u2
(
size
);
LoadVec
(
u2
,
"../SAVE/u2d2__rep_"
+
string
(
numRun
));
GetSizeVec
(
size
,
"../SAVE/u2d3__rep_"
+
string
(
numRun
));
saux
=
(
364
-
58
)
*
7
*
utm12d3
.
n
;
GetSizeVec
(
size
,
"../SAVE/u2d3__rep_"
+
string
(
numRun
));
cout
<<
size
<<
" "
<<
saux
<<
endl
;
real
[
int
]
u3
(
size
);
LoadVec
(
u3
,
"../SAVE/u2d3__rep_"
+
string
(
numRun
));
saux
=
(
364
-
58
)
*
7
*
utm12d4
.
n
;
SetSizeVec
(
saux
,
"../SAVE/u2d4_"
+
"_rep_"
+
string
(
numRun
));
GetSizeVec
(
size
,
"../SAVE/u2d4__rep_"
+
string
(
numRun
));
real
[
int
]
u4
(
size
);
LoadVec
(
u4
,
"../SAVE/u2d4__rep_"
+
string
(
numRun
));
saux
=
(
364
-
58
)
*
7
*
utm12d5
.
n
;
SetSizeVec
(
saux
,
"../SAVE/u2d5_"
+
"_rep_"
+
string
(
numRun
));
GetSizeVec
(
size
,
"../SAVE/u2d5__rep_"
+
string
(
numRun
));
real
[
int
]
u5
(
size
);
LoadVec
(
u5
,
"../SAVE/u2d5__rep_"
+
string
(
numRun
));
saux
=
(
364
-
58
)
*
7
*
utm12d6
.
n
;
SetSizeVec
(
saux
,
"../SAVE/u2d6_"
+
"_rep_"
+
string
(
numRun
));
GetSizeVec
(
size
,
"../SAVE/u2d6__rep_"
+
string
(
numRun
));
real
[
int
]
u6
(
size
);
LoadVec
(
u6
,
"../SAVE/u2d6__rep_"
+
string
(
numRun
));
saux
=
(
364
-
58
)
*
7
*
utm12d7
.
n
;
SetSizeVec
(
saux
,
"../SAVE/u2d7_"
+
"_rep_"
+
string
(
numRun
));
GetSizeVec
(
size
,
"../SAVE/u2d7__rep_"
+
string
(
numRun
));
real
[
int
]
u7
(
size
);
LoadVec
(
u7
,
"../SAVE/u2d7__rep_"
+
string
(
numRun
));
saux
=
(
364
-
58
)
*
7
*
utm12d8
.
n
;
SetSizeVec
(
saux
,
"../SAVE/u2d8_"
+
"_rep_"
+
string
(
numRun
));
GetSizeVec
(
size
,
"../SAVE/u2d8__rep_"
+
string
(
numRun
));
real
[
int
]
u8
(
size
);
LoadVec
(
u8
,
"../SAVE/u2d8__rep_"
+
string
(
numRun
));
saux
=
(
364
-
58
)
*
7
*
utm12d9
.
n
;
SetSizeVec
(
saux
,
"../SAVE/u2d9_"
+
"_rep_"
+
string
(
numRun
));
GetSizeVec
(
size
,
"../SAVE/u2d9__rep_"
+
string
(
numRun
));
real
[
int
]
u9
(
size
);
LoadVec
(
u9
,
"../SAVE/u2d9__rep_"
+
string
(
numRun
));
saux
=
(
364
-
58
)
*
7
*
utm12d10
.
n
;
SetSizeVec
(
saux
,
"../SAVE/u2d10_"
+
"_rep_"
+
string
(
numRun
));
GetSizeVec
(
size
,
"../SAVE/u2d10__rep_"
+
string
(
numRun
));
real
[
int
]
u10
(
size
);
LoadVec
(
u10
,
"../SAVE/u2d10__rep_"
+
string
(
numRun
));
saux
=
(
364
-
58
)
*
7
*
utm12d11
.
n
;
SetSizeVec
(
saux
,
"../SAVE/u2d11_"
+
"_rep_"
+
string
(
numRun
));
GetSizeVec
(
size
,
"../SAVE/u2d11__rep_"
+
string
(
numRun
));
real
[
int
]
u11
(
size
);
LoadVec
(
u11
,
"../SAVE/u2d11__rep_"
+
string
(
numRun
));
saux
=
(
364
-
58
)
*
7
*
utm12d12
.
n
;
SetSizeVec
(
saux
,
"../SAVE/u2d12_"
+
"_rep_"
+
string
(
numRun
));
GetSizeVec
(
size
,
"../SAVE/u2d12__rep_"
+
string
(
numRun
));
real
[
int
]
u12
(
size
);
LoadVec
(
u12
,
"../SAVE/u2d12__rep_"
+
string
(
numRun
));
saux
=
(
364
-
58
)
*
7
*
utm12d13
.
n
;
SetSizeVec
(
saux
,
"../SAVE/u2d13_"
+
"_rep_"
+
string
(
numRun
));
GetSizeVec
(
size
,
"../SAVE/u2d13__rep_"
+
string
(
numRun
));
real
[
int
]
u13
(
size
);
LoadVec
(
u13
,
"../SAVE/u2d13__rep_"
+
string
(
numRun
));
saux
=
(
364
-
58
)
*
7
*
utm12d14
.
n
;
SetSizeVec
(
saux
,
"../SAVE/u2d14_"
+
"_rep_"
+
string
(
numRun
));
GetSizeVec
(
size
,
"../SAVE/u2d14__rep_"
+
string
(
numRun
));
real
[
int
]
u14
(
size
);
LoadVec
(
u14
,
"../SAVE/u2d14__rep_"
+
string
(
numRun
));
int
nbCallSave
=
0
;
for
(
CURYEAR
=
FIRSTYEAR
;
CURYEAR
<=
LASTYEAR
;
CURYEAR
++
){
int
firstStep
=
0
;
int
firstStep
=
59
;
if
(
CURYEAR
==
2011
)
firstStep
=
362
-
122
;
for
(
curStep
=
firstStep
;
curStep
<
nbSteps
;
curStep
++
){
for
(
curStep
=
firstStep
;
curStep
<
365
;
curStep
++
){
utm12d0
[]
=
u0
(
nbCallSave
*
utm12d0
.
n
:
(
nbCallSave
+
1
)
*
utm12d0
.
n
);
utm12d1
[]
=
u1
(
nbCallSave
*
utm12d1
.
n
:
(
nbCallSave
+
1
)
*
utm12d1
.
n
);
utm12d2
[]
=
u2
(
nbCallSave
*
utm12d2
.
n
:
(
nbCallSave
+
1
)
*
utm12d2
.
n
);
...
...
AEDESINTER_AUTOROUTES_ADAPTIV/VISU/visuSimuMax.edp
View file @
5cf08f3c
...
...
@@ -7,9 +7,10 @@ include "defDofsGen.edp"
int
curStep
=
0
;
int
numRun
=
0
;
int
size
;
string
BASEREP
=
"../SAVE/HIGHT/"
;
string
SENARIO
=
"LOW"
;
string
BASEREP
=
"../SAVE_"
+
SENARIO
+
"/"
;
int
u0size
;
string
maxormin
=
"m
in
"
;
string
maxormin
=
"m
ax
"
;
string
OUTPUTDIR
=
BASEREP
;
{
...
...
@@ -74,12 +75,12 @@ string OUTPUTDIR=BASEREP;
LoadVec
(
u14
,
BASEREP
+
"u2d14__"
+
maxormin
);
int
nbCallSave
=
0
;
for
(
CURYEAR
=
FIRSTYEAR
;
CURYEAR
<=
LASTYEAR
;
CURYEAR
++
){
for
(
curStep
=
0
;
curStep
<
nbSteps
;
curStep
++
){
int
firstStep
=
59
;
if
(
CURYEAR
==
2011
)
firstStep
=
362
-
122
;
for
(
curStep
=
firstStep
;
curStep
<
365
;
curStep
++
){
//check over date
if
(
u0size
<
(
nbCallSave
+
1
)
*
utm12d0
.
n
){
cout
<<
CURYEAR
<<
" "
<<
curStep
<<
": u0size="
<<
u0size
<<
" "
<<
(
nbCallSave
+
1
)
*
utm12d0
.
n
<<
endl
;;
continue
;
}
if
(
curStep
>
100
){
utm12d0
[]
=
u0
(
nbCallSave
*
utm12d0
.
n
:
(
nbCallSave
+
1
)
*
utm12d0
.
n
);
utm12d1
[]
=
u1
(
nbCallSave
*
utm12d1
.
n
:
(
nbCallSave
+
1
)
*
utm12d1
.
n
);
...
...
@@ -99,10 +100,11 @@ string OUTPUTDIR=BASEREP;
bool
waitt
=
true
;
//if (curStep%15)
// waitt=false;
if
(
curStep
%
15
==
0
)
if
(
curStep
==
195
&&
CURYEAR
==
LASTYEAR
){
plot
(
utm12d0
,
utm12d1
,
utm12d2
,
utm12d3
,
utm12d4
,
utm12d5
,
utm12d6
,
utm12d7
,
utm12d8
,
utm12d9
,
utm12d10
,
utm12d11
,
utm12d12
,
utm12d13
,
utm12d14
,
cmm
=
"rep "
+
string
(
numRun
)
+
" year="
+
string
(
CURYEAR
)
+
" step="
+
string
(
curStep
),
value
=
true
,
fill
=
true
,
wait
=
waitt
);
//include "saveVtk.edp";
cmm
=
SENARIO
+
"_"
+
maxormin
+
" year="
+
string
(
CURYEAR
)
+
" step="
+
string
(
curStep
),
value
=
true
,
fill
=
true
,
wait
=
waitt
,
ps
=
SENARIO
+
"_"
+
maxormin
+
"_year="
+
string
(
CURYEAR
)
+
"_step="
+
string
(
curStep
)
+
".eps"
);
include "saveVtk.edp";
}
}
nbCallSave
++
;
}
...
...
AEDESINTER_AUTOROUTES_ADAPTIV/cas1.edp
View file @
5cf08f3c
...
...
@@ -8,8 +8,10 @@ include "defDofsGen.edp"
include "defTigerVar.edp"
include "defSimuParamsGen.edp";
include "paramsTS.edp";
include "buildTobs.edp";
int
numRun
=
0
;
int
NnumRun
=
10
;
string
SAVEDIR
=
"/home/olivierb/aedes/AEDESINTER_AUTOROUTES_ADAPTIV/SAVE/WORK_VERSION/"
;
if
(
ARGV
.
n
>
2
){
numRun
=
atoi
(
ARGV
[
2
]);
NnumRun
=
10
;
...
...
@@ -20,8 +22,9 @@ if (ARGV.n>3){
int
scenarioLow
=
0
;
int
scenarioMedian
=
1
;
int
scenarioHight
=
2
;
int
scenario
=
scenario
Hight
;
int
scenario
=
scenario
Low
;
int
seed
=
1234
+
numRun
;
int
callSolver
=
1
;
randinit
(
seed
);
//include "defPluginVaraibleGen.edp"
//real nu=0.0;//1.0;//2D to 1D
...
...
@@ -54,12 +57,13 @@ if (scenario==scenarioLow){
Rstar
=
0
.
12
*
365
;
Tw
=
2
;
GDDTHRESHOLD
=
"GDD_294/"
;
SAVEDIR
=
"/home/olivierb/aedes/AEDESINTER_AUTOROUTES_ADAPTIV/SAVE/LOW/"
;
}
if
(
scenario
==
scenarioHight
){
Rstar
=
0
.
15
*
365
;
Tw
=
0
;
GDDTHRESHOLD
=
"GDD_246/"
;
SAVEDIR
=
"/home/olivierb/aedes/AEDESINTER_AUTOROUTES_ADAPTIV/SAVE/HIGHT/"
;
}
real
K
=
1
.
0
;
...
...
@@ -112,7 +116,7 @@ int nbCallSave;
int
numDay
=
0
;
int
lastRRPlot
=
0
;
func
real
J
(
real
[
int
]
&
u
)
{
{
real
coefLength
=
969000
/
12
;
//real coefExpo=2*log(coefLength)/log(10.0);
D2DXu0
=
pow
(
10
,
u
[
0
])
*
coefLength
*
coefLength
;
...
...
@@ -134,12 +138,12 @@ func real J(real[int] & u)
//include "buildMatGenW01.edp";
cout
<<
"end ic
\n
"
;
cout
<<
"end ic
\n
"
;
ofstream
infoFileNull
(
"infosimu.txt"
);
nbCallSave
=
0
;
cout
<<
"begin loop
\n
"
;
cout
<<
"begin loop
\n
"
;
for
(
CURYEAR
=
FIRSTYEAR
;
CURYEAR
<=
LASTYEAR
;
CURYEAR
++
){
if
(
CURYEAR
>
201
6
){
if
(
CURYEAR
>
201
9
){
real
p
;
p
=
randreal1
();
int
rg
=
p
/
0
.
2
+
1
;
...
...
@@ -196,12 +200,14 @@ cout<<"begin loop\n";
include "vtktopngGen.edp";
}*/
//include "saveStatew1.edp"
include "interAnnualStage.edp"
if
(
CURYEAR
!=
2019
){
include "interAnnualStage.edp";
}
}
include "saveStateSetSize.edp"
//
include "saveStateSetSize.edp"
numRun
=
numRun
+
1
;
return
Tllh
;
}
}
// func real[int] DJ(real[int] &u)
// {
...
...
AEDESINTER_AUTOROUTES_ADAPTIV/infosimu.txt
View file @
5cf08f3c
This diff is collapsed.
Click to expand it.
AEDESINTER_AUTOROUTES_ADAPTIV/paramsTS.edp
View file @
5cf08f3c
int
FIRSTYEAR
=
2017
;
int
LASTYEAR
=
2018
;
//
int LASTYEAR=2023;
//
int LASTYEAR=2018;
int
LASTYEAR
=
2023
;
int
CURYEAR
=
2017
;
int
CURYEARRAND
;
...
...
AEDESINTER_AUTOROUTES_ADAPTIV/preparStep.edp
View file @
5cf08f3c
...
...
@@ -85,21 +85,21 @@ plot(ENDDIAPOS0,ENDDIAPOS1,ENDDIAPOS2,ENDDIAPOS3,ENDDIAPOS4,ENDDIAPOS5,ENDDIAPOS
LoadVec
(
GP14
[],
DATASAFRAN
+
"GP_BY_DAY/"
+
"gp14s"
+
string
(
numDay
));
}
LoadVec
(
GT0
[],
DATASAFRAN
+
"GT_BY_DAY/"
+
string
(
CURYEAR
)
+
"/mesh0s"
+
string
(
numDay
));
LoadVec
(
GT1
[],
DATASAFRAN
+
"GT_BY_DAY/"
+
string
(
CURYEAR
)
+
"/mesh1s"
+
string
(
numDay
));
LoadVec
(
GT2
[],
DATASAFRAN
+
"GT_BY_DAY/"
+
string
(
CURYEAR
)
+
"/mesh2s"
+
string
(
numDay
));
LoadVec
(
GT3
[],
DATASAFRAN
+
"GT_BY_DAY/"
+
string
(
CURYEAR
)
+
"/mesh3s"
+
string
(
numDay
));
LoadVec
(
GT4
[],
DATASAFRAN
+
"GT_BY_DAY/"
+
string
(
CURYEAR
)
+
"/mesh4s"
+
string
(
numDay
));
LoadVec
(
GT5
[],
DATASAFRAN
+
"GT_BY_DAY/"
+
string
(
CURYEAR
)
+
"/mesh5s"
+
string
(
numDay
));
LoadVec
(
GT6
[],
DATASAFRAN
+
"GT_BY_DAY/"
+
string
(
CURYEAR
)
+
"/mesh6s"
+
string
(
numDay
));
LoadVec
(
GT7
[],
DATASAFRAN
+
"GT_BY_DAY/"
+
string
(
CURYEAR
)
+
"/mesh7s"
+
string
(
numDay
));
LoadVec
(
GT8
[],
DATASAFRAN
+
"GT_BY_DAY/"
+
string
(
CURYEAR
)
+
"/mesh8s"
+
string
(
numDay
));
LoadVec
(
GT9
[],
DATASAFRAN
+
"GT_BY_DAY/"
+
string
(
CURYEAR
)
+
"/mesh9s"
+
string
(
numDay
));
LoadVec
(
GT10
[],
DATASAFRAN
+
"GT_BY_DAY/"
+
string
(
CURYEAR
)
+
"/mesh10s"
+
string
(
numDay
));
LoadVec
(
GT11
[],
DATASAFRAN
+
"GT_BY_DAY/"
+
string
(
CURYEAR
)
+
"/mesh11s"
+
string
(
numDay
));
LoadVec
(
GT12
[],
DATASAFRAN
+
"GT_BY_DAY/"
+
string
(
CURYEAR
)
+
"/mesh12s"
+
string
(
numDay
));
LoadVec
(
GT13
[],
DATASAFRAN
+
"GT_BY_DAY/"
+
string
(
CURYEAR
)
+
"/mesh13s"
+
string
(
numDay
));
LoadVec
(
GT14
[],
DATASAFRAN
+
"GT_BY_DAY/"
+
string
(
CURYEAR
)
+
"/mesh14s"
+
string
(
numDay
));
LoadVec
(
GT0
[],
DATASAFRAN
+
"GT_BY_DAY
_HOURLY
/"
+
string
(
CURYEAR
)
+
"/mesh0s"
+
string
(
numDay
));
LoadVec
(
GT1
[],
DATASAFRAN
+
"GT_BY_DAY
_HOURLY
/"
+
string
(
CURYEAR
)
+
"/mesh1s"
+
string
(
numDay
));
LoadVec
(
GT2
[],
DATASAFRAN
+
"GT_BY_DAY
_HOURLY
/"
+
string
(
CURYEAR
)
+
"/mesh2s"
+
string
(
numDay
));
LoadVec
(
GT3
[],
DATASAFRAN
+
"GT_BY_DAY
_HOURLY
/"
+
string
(
CURYEAR
)
+
"/mesh3s"
+
string
(
numDay
));
LoadVec
(
GT4
[],
DATASAFRAN
+
"GT_BY_DAY
_HOURLY
/"
+
string
(
CURYEAR
)
+
"/mesh4s"
+
string
(
numDay
));
LoadVec
(
GT5
[],
DATASAFRAN
+
"GT_BY_DAY
_HOURLY
/"
+
string
(
CURYEAR
)
+
"/mesh5s"
+
string
(
numDay
));
LoadVec
(
GT6
[],
DATASAFRAN
+
"GT_BY_DAY
_HOURLY
/"
+
string
(
CURYEAR
)
+
"/mesh6s"
+
string
(
numDay
));
LoadVec
(
GT7
[],
DATASAFRAN
+
"GT_BY_DAY
_HOURLY
/"
+
string
(
CURYEAR
)
+
"/mesh7s"
+
string
(
numDay
));
LoadVec
(
GT8
[],
DATASAFRAN
+
"GT_BY_DAY
_HOURLY
/"
+
string
(
CURYEAR
)
+
"/mesh8s"
+
string
(
numDay
));
LoadVec
(
GT9
[],
DATASAFRAN
+
"GT_BY_DAY
_HOURLY
/"
+
string
(
CURYEAR
)
+
"/mesh9s"
+
string
(
numDay
));
LoadVec
(
GT10
[],
DATASAFRAN
+
"GT_BY_DAY
_HOURLY
/"
+
string
(
CURYEAR
)
+
"/mesh10s"
+
string
(
numDay
));
LoadVec
(
GT11
[],
DATASAFRAN
+
"GT_BY_DAY
_HOURLY
/"
+
string
(
CURYEAR
)
+
"/mesh11s"
+
string
(
numDay
));
LoadVec
(
GT12
[],
DATASAFRAN
+
"GT_BY_DAY
_HOURLY
/"
+
string
(
CURYEAR
)
+
"/mesh12s"
+
string
(
numDay
));
LoadVec
(
GT13
[],
DATASAFRAN
+
"GT_BY_DAY
_HOURLY
/"
+
string
(
CURYEAR
)
+
"/mesh13s"
+
string
(
numDay
));
LoadVec
(
GT14
[],
DATASAFRAN
+
"GT_BY_DAY
_HOURLY
/"
+
string
(
CURYEAR
)
+
"/mesh14s"
+
string
(
numDay
));
//update R
RR0
=
timeScal
*
GT0
*
GP0
;
...
...
AEDESINTER_AUTOROUTES_ADAPTIV/timeSteppingGenAdaptiv.edp
View file @
5cf08f3c
...
...
@@ -224,11 +224,16 @@ real coef;
//include "buildMatGenW01.edp";
cout
<<
"curT="
<<
curT
<<
endl
;
lastRRPlot
=
0
;
int
assimDone
=
0
;
while
(
curT
<
Tf
){
saveCurStepForInterpol
;
prevT
=
curT
;
adaptiveTimeDoOneStep
();
cout
<<
"ts, "
<<
prevT
<<
"-"
<<
curT
<<
" year="
<<
CURYEAR
<<
" numday="
<<
numDay
<<
" done"
<<
endl
;
if
(
365
*
curT
>
assimNumDay
&&
!
assimDone
){
include "dataAssimilation.edp";
assimDone
=
1
;
}
while
(
nextDayWillSave
<
365
*
curT
&&
nextDayWillSave
<
365
){
coef
=
(
nextDayWillSave
-
365
*
prevT
)
/
(
365
*
(
curT
-
prevT
));
interpol
(
coef
);
...
...
AEDESINTER_AUTOROUTES_ADAPTIV/timeSteppingOneStepGenAdaptive.edp
View file @
5cf08f3c
...
...
@@ -21,8 +21,10 @@ while((residu>criteron || NewtonIt<minNewtonIt) && NewtonIt<maxNewtonIt){
include "buildMatGen.edp";
cout
<<
"begin solve linear system"
<<
endl
;
if
(
callSolver
)
sol
=
M
^-
1
*
rhs
;
//sol=0;
else
sol
=
0
;
/*Affreuse verrue pour traquer les plantages du solver linear /opt/...
if(sol[0]==-12345){
simuFailed=1;
...
...
AedesAlbopictus/intraAnnuel/donnees_SAFRAN/AUTOROUTES/preparTemp.c
View file @
5cf08f3c
...
...
@@ -14,11 +14,11 @@ using namespace std;
#endif
#define NB_PT_SAFRAN 9892
#define NB_TIME_SAFRAN 8760
#define FIRST_YEAR 201
1
#define LAST_YEAR 201
6
#define FIRST_YEAR 201
6
#define LAST_YEAR 201
9
#define PATH_TO_DATA_RASTER "/home/olivierb/
solvers/trunk/SandBox/FF/AedesAlbopictus/intraAnnuel/donnees_SAFRAN/AUTOROUTES
/DATA_RASTER/"
#define PATH_TO_DATA_FF "/home/olivierb/
solvers/trunk/SandBox/FF/AedesAlbopictus/intraAnnuel/donnees_SAFRAN/AUTOROUTES
/DATA_FF/"
#define PATH_TO_DATA_RASTER "/home/olivierb/
aedes/SAFRAN
/DATA_RASTER/"
#define PATH_TO_DATA_FF "/home/olivierb/
aedes/SAFRAN
/DATA_FF/"
long
int
meshIndex
[
15
]
=
{
6295
,
1612
,
2457
,
1116
,
2222
,
1968
,
1528
,
938
,
2246
,
1091
,
1058
,
1325
,
285
,
164
,
1069
};
...
...
@@ -42,7 +42,7 @@ int readXY(double **pMeshX,double **pMeshY){
return
dim
;
}
//project raster data to mesh
void
readTemperatures
(
double
*
pData
,
double
*
meshX
,
double
*
meshY
,
int
dim
,
int
numA
){
int
readTemperatures
(
double
*
pData
,
double
*
meshX
,
double
*
meshY
,
int
dim
,
int
numA
){
char
fileName
[
512
];
double
*
pDataAux
;
int
h
,
k
;
...
...
@@ -57,17 +57,18 @@ void readTemperatures(double *pData,double *meshX,double *meshY,int dim,int numA
pDataAux
=
pData
;
double
*
pT
=
(
double
*
)
calloc
(
nrows
*
ncols
,
sizeof
(
double
));
//double *pTaux=(double*)calloc(nrows*ncols,sizeof(double));
int
nbTimeRead
=
0
;
for
(
h
=
1
;
h
<=
NB_TIME_SAFRAN
;
h
++
){
//lecture du raster
sprintf
(
fileName
,
"%s/%i/TAIR_%i"
,
PATH_TO_DATA_RASTER
,
numA
,
h
);
FILE
*
infile
=
fopen
(
fileName
,
"rb"
);
if
(
!
infile
)
continue
;
nbTimeRead
++
;
int
nr
=
fread
(
pT
,
sizeof
(
double
),
ncols
*
nrows
,
infile
);
if
(
nr
!=
ncols
*
nrows
){
printf
(
"Error fread return value= % instead of %i
\n
"
,
nr
,
ncols
*
nrows
);
return
;
return
-
1
;
}
#ifdef DEBUGING
memcpy
(
pTaux
,
pT
,
sizeof
(
double
)
*
ncols
*
nrows
);
...
...
@@ -99,7 +100,7 @@ void readTemperatures(double *pData,double *meshX,double *meshY,int dim,int numA
int
index
=
icol
+
(
irow
)
*
ncols
;
if
(
index
>=
nrows
*
ncols
||
index
<
0
){
cout
<<
"bug "
<<
index
<<
" soulb be <"
<<
nrows
*
ncols
;
return
;
return
-
1
;
}
bufT
=
pT
[
index
];
*
(
pDataAux
++
)
=
bufT
-
273
.
15
;
...
...
@@ -107,6 +108,7 @@ void readTemperatures(double *pData,double *meshX,double *meshY,int dim,int numA
}
free
(
pT
);
return
nbTimeRead
;
}
/*
*
...
...
@@ -137,16 +139,16 @@ void computeDegreJ(double T0,double Nd,double *pDataT,int dim, double * pDataDeg
*
*dim : nombre de neuds du maillage
*T0 : temperature seuil
*pT0J : output GDD(s) pour s=0 a
365
-59
*pT0J : output GDD(s) pour s=0 a
nbDay
-59
*/
void
computeGDD
(
double
T0
,
double
*
pDataT
,
int
dim
,
double
*
pT0J
){
void
computeGDD
(
double
T0
,
double
*
pDataT
,
int
dim
,
double
*
pT0J
,
int
nbDay
){
//on se place le 28 fevrier
pDataT
+=
59
*
24
*
dim
;
double
*
psaveT0J
=
pT0J
;
//pour chaque jours s a partir de 1 mars
for
(
int
s
=
59
;
s
<
365
;
s
++
){
for
(
int
s
=
59
;
s
<
nbDay
;
s
++
){
//initialise a 0
for
(
long
int
i
=
0
;
i
<
dim
;
i
++
)
pT0J
[
i
]
=
0
;
...
...
@@ -170,8 +172,8 @@ void computeGDD(double T0,double *pDataT,int dim, double * pT0J){
}
void
seuilGDD
(
double
GDD_Threshold
,
int
dim
,
double
*
pIn
,
double
*
pOut
){
for
(
int
s
=
59
;
s
<
365
;
s
++
)
void
seuilGDD
(
double
GDD_Threshold
,
int
dim
,
double
*
pIn
,
double
*
pOut
,
int
nbDay
){
for
(
int
s
=
59
;
s
<
nbDay
;
s
++
)
for
(
long
int
i
=
0
;
i
<
dim
;
i
++
){
if
(
*
pIn
++>
GDD_Threshold
)
*
pOut
++=
1
;
...
...
@@ -233,7 +235,15 @@ void computeT0usingGDD(double T0,double GDD_Threshold,double *pDataT,int dim, do
/*
*
*previous version piecewise linear
void computeGT(double *pDataT,int dim,double *pGT){
*
*
*
* 0 if <10
* 1 if >25
* else linear and continuous
*
*/
void
computeGTWithPiceWiseLinear
(
double
*
pDataT
,
int
dim
,
double
*
pGT
){
double
*
pCurGT
=
pGT
;
double
*
pAux
;
for
(
int
j
=
0
;
j
<
365
;
j
++
){
...
...
@@ -257,7 +267,7 @@ void computeGT(double *pDataT,int dim,double *pGT){
(
*
(
pCurGT
++
))
/=
24
.
0
;
}
}
*/