BG_Flood  0.8
Documentation (Work-in-progress)
Updateforcing.h
Go to the documentation of this file.
1 
2 #ifndef UPDATEFORCING_H
3 #define UPDATEFORCING_H
4 
5 #include "General.h"
6 #include "Param.h"
7 #include "Arrays.h"
8 #include "Forcing.h"
9 #include "InitialConditions.h"
10 #include "MemManagement.h"
11 #include "ReadForcing.h"
12 #include "GridManip.h"
13 #include "Util_CPU.h"
14 
15 template <class T> void updateforcing(Param XParam, Loop<T> XLoop, Forcing<float>& XForcing);
16 
17 
18 template <class T> __device__ T interpDyn2BUQ(T x, T y, TexSetP Forcing);
19 
20 template <class T> __host__ void AddwindforcingCPU(Param XParam, BlockP<T> XBlock, DynForcingP<float> Uwind, DynForcingP<float> Vwind, AdvanceP<T> XAdv);
21 template <class T> __global__ void AddwindforcingGPU(Param XParam, BlockP<T> XBlock, DynForcingP<float> Uwind, DynForcingP<float> Vwind, AdvanceP<T> XAdv);
22 
23 template <class T> __host__ void AddrainforcingCPU(Param XParam, BlockP<T> XBlock, DynForcingP<float> Rain, AdvanceP<T> XAdv);
24 template <class T> __host__ void AddrainforcingImplicitCPU(Param XParam, Loop<T> XLoop, BlockP<T> XBlock, DynForcingP<float> Rain, EvolvingP<T> XEv);
25 template <class T> __global__ void AddrainforcingGPU(Param XParam, BlockP<T> XBlock, DynForcingP<float> Rain, AdvanceP<T> XAdv);
26 template <class T> __global__ void AddrainforcingImplicitGPU(Param XParam, Loop<T> XLoop, BlockP<T> XBlock, DynForcingP<float> Rain, EvolvingP<T> XEv);
27 
28 template <class T> __host__ void AddinfiltrationImplicitCPU(Param XParam, Loop<T> XLoop, BlockP<T> XBlock, T* il, T* cl, EvolvingP<T> XEv, T* hgw);
29 template <class T> __global__ void AddinfiltrationImplicitGPU(Param XParam, Loop<T> XLoop, BlockP<T> XBlock, T* il, T* cl, EvolvingP<T> XEv, T* hgw);
30 
31 template <class T> __global__ void AddPatmforcingGPU(Param XParam, BlockP<T> XBlock, DynForcingP<float> PAtm, Model<T> XModel);
32 template <class T> __host__ void AddPatmforcingCPU(Param XParam, BlockP<T> XBlock, DynForcingP<float> PAtm, Model<T> XModel);
33 
34 template <class T> __host__ void AddRiverForcing(Param XParam, Loop<T> XLoop, std::vector<River> XRivers, Model<T> XModel);
35 
36 template <class T> void deformstep(Param XParam, Loop<T> XLoop, std::vector<deformmap<float>> deform, Model<T> XModel, Model<T> XModel_g);
37 
38 template <class T> __global__ void InjectRiverGPU(Param XParam, River XRiver, T qnow, int* Riverblks, BlockP<T> XBlock, AdvanceP<T> XAdv);
39 template <class T> __global__ void AddDeformGPU(Param XParam, BlockP<T> XBlock, deformmap<float> defmap, T scale, T* zs, T* zb);
40 
41 
42 #endif
__global__ void AddrainforcingImplicitGPU(Param XParam, Loop< T > XLoop, BlockP< T > XBlock, DynForcingP< float > Rain, EvolvingP< T > XEv)
Definition: Updateforcing.cu:276
void updateforcing(Param XParam, Loop< T > XLoop, Forcing< float > &XForcing)
Definition: Updateforcing.cu:5
__global__ void AddinfiltrationImplicitGPU(Param XParam, Loop< T > XLoop, BlockP< T > XBlock, T *il, T *cl, EvolvingP< T > XEv, T *hgw)
Definition: Updateforcing.cu:454
__global__ void AddrainforcingGPU(Param XParam, BlockP< T > XBlock, DynForcingP< float > Rain, AdvanceP< T > XAdv)
Definition: Updateforcing.cu:240
__global__ void AddwindforcingGPU(Param XParam, BlockP< T > XBlock, DynForcingP< float > Uwind, DynForcingP< float > Vwind, AdvanceP< T > XAdv)
Definition: Updateforcing.cu:493
__host__ void AddRiverForcing(Param XParam, Loop< T > XLoop, std::vector< River > XRivers, Model< T > XModel)
Definition: Updateforcing.cu:113
__host__ void AddrainforcingCPU(Param XParam, BlockP< T > XBlock, DynForcingP< float > Rain, AdvanceP< T > XAdv)
Definition: Updateforcing.cu:316
__device__ T interpDyn2BUQ(T x, T y, TexSetP Forcing)
Definition: Updateforcing.cu:674
__host__ void AddPatmforcingCPU(Param XParam, BlockP< T > XBlock, DynForcingP< float > PAtm, Model< T > XModel)
Definition: Updateforcing.cu:626
__global__ void InjectRiverGPU(Param XParam, River XRiver, T qnow, int *Riverblks, BlockP< T > XBlock, AdvanceP< T > XAdv)
Definition: Updateforcing.cu:146
__global__ void AddPatmforcingGPU(Param XParam, BlockP< T > XBlock, DynForcingP< float > PAtm, Model< T > XModel)
Definition: Updateforcing.cu:541
__host__ void AddinfiltrationImplicitCPU(Param XParam, Loop< T > XLoop, BlockP< T > XBlock, T *il, T *cl, EvolvingP< T > XEv, T *hgw)
Definition: Updateforcing.cu:409
__host__ void AddrainforcingImplicitCPU(Param XParam, Loop< T > XLoop, BlockP< T > XBlock, DynForcingP< float > Rain, EvolvingP< T > XEv)
Definition: Updateforcing.cu:364
__host__ void AddwindforcingCPU(Param XParam, BlockP< T > XBlock, DynForcingP< float > Uwind, DynForcingP< float > Vwind, AdvanceP< T > XAdv)
Definition: Updateforcing.cu:572
__global__ void AddDeformGPU(Param XParam, BlockP< T > XBlock, deformmap< float > defmap, T scale, T *zs, T *zb)
Definition: Updateforcing.cu:782
void deformstep(Param XParam, Loop< T > XLoop, std::vector< deformmap< float >> deform, Model< T > XModel, Model< T > XModel_g)
Definition: Updateforcing.cu:705
Definition: Param.h:10
Definition: Input.h:34
Definition: Forcing.h:45
Definition: Arrays.h:55
Definition: Arrays.h:86
Definition: Forcing.h:62
Definition: Arrays.h:29
Definition: Forcing.h:116
Definition: Arrays.h:203
Definition: Arrays.h:151
Definition: Forcing.h:9