WXP C++ Library Version 6.74.9
Loading...
Searching...
No Matches
GridMath.h
1#ifndef _WINC_GRIDMATH
2#define _WINC_GRIDMATH
3
4#include <WXP/Domain.h>
5#include <WXP/Grid.h>
6#include <WXP/Grids.h>
7
8namespace WXP {
9 class GridMath {
10 public:
11
12 static int process( const char *str, Grid &ogrid, Grids &grids );
13 static int process( const char *str, Grid &ogrid1, Grid &ogrid2, Grids &grids );
14 static bool checkVar( Grid &grid, const char *var );
15 static bool isVectFunc( const char *var );
16 static int setInfo( Grid &ogrid, const char *name, const char *units );
17 static int units( Grid &grid, const char *units );
18 static bool isDomainEqual( Grid &grd1, Grid &grd2 );
19 static bool isDomainEqual( Grid &grd1, Domain &dom );
20 static bool isProjEqual( Grid &grd1, Grid &grd2 );
21 static bool isProjEqual( Grid &grd1, Domain &dom );
22 static float maxSpd( Grid &ugrid, Grid &vgrid );
23 static int remap( Grid &ogrid, Domain &domain, Grid &igrid );
24 static int revalue( Grid &ogrid, const char *str, Grid &igrid );
25 static int cutoff( Grid &ogrid, const char *cmd, float cutoff,
26 float nval, Grid &igrid );
27 static int mask( Grid &grid, const char *cmd, float cutoff );
28 static int resetMiss( Grid &grid, float nval );
29 static int scale( Grid &ogrid, float scale );
30 static int offset( Grid &ogrid, float off );
31 static int interp( Grid &ogrid, Grid &grid1, float ival, Grid &grid2 );
32 static int add( Grid &ogrid, Grid &igrid );
33 static int add( Grid &ogrid, Grid &agrid, Grid &bgrid );
34 static int add( Grid &ogrid, Grids &grids );
35 static int avg( Grid &ogrid, Grids &grids );
36 static int diff( Grid &ogrid, Grid &igrid );
37 static int diff( Grid &ogrid, Grid &grida, Grid &gridb );
38 static int mult( Grid &ogrid, Grid &grida, Grid &gridb );
39 static int div( Grid &ogrid, Grid &grida, Grid &gridb );
40 static int mod( Grid &ogrid, Grid &grida, Grid &gridb );
41 static int max( Grid &ogrid, Grids &grids );
42 static int min( Grid &ogrid, Grids &grids );
43 static int sqrt( Grid &ogrid, Grid &grid );
44 static int abs( Grid &ogrid, Grid &grid );
45 static int inv( Grid &ogrid, Grid &grid );
46 static int log( Grid &ogrid, Grid &grid );
47 static int log10( Grid &ogrid, Grid &grid );
48 static int exp( Grid &ogrid, Grid &grid );
49 static int pow( Grid &ogrid, Grid &grida, Grid &gridb );
50 static int adjustUV( Grid &ugrid, Grid &vgrid );
51 static int locatePoint( Grid &ogrid, Grid &grid, const char *oper );
52 static int coriolis( Grid &ogrid, Grid &grid, const char *oper );
53 static int dx( Grid &ogrid, Grid &grid );
54 static int dy( Grid &ogrid, Grid &grid );
55 static int laplacian( Grid &ogrid, Grid &grid );
56 static int converge( Grid &ogrid, Grid &ugrid, Grid &vgrid, Grid &zgrid );
57 static int converge( Grid &ogrid, Grid &ugrid, Grid &vgrid );
58 static int vorticity( Grid &ogrid, Grid &ugrid, Grid &vgrid );
59 static int deformation1( Grid &ogrid, Grid &ugrid, Grid &vgrid );
60 static int deformation2( Grid &ogrid, Grid &ugrid, Grid &vgrid );
61 static int advection( Grid &ogrid, Grid &ugrid, Grid &vgrid, Grid &zgrid );
62 static int windSpd( Grid &ogrid, Grid &ugrid, Grid &vgrid );
63 static int windDir( Grid &ogrid, Grid &ugrid, Grid &vgrid, int flag );
64 static int windU( Grid &ogrid, Grid &dgrid, Grid &sgrid, int flag );
65 static int windV( Grid &ogrid, Grid &dgrid, Grid &sgrid, int flag );
66 static int dewTemp( Grid &ogrid, Grid &tgrid, Grid &rgrid );
67 static int relHum( Grid &ogrid, Grid &tgrid, Grid &dgrid );
68 static int specHum( Grid &ogrid, Grid &tgrid, Grid &dgrid );
69 static int wetBulb( Grid &ogrid, Grid &tgrid, Grid &rgrid );
70 static int mixRatio( Grid &ogrid, Grid &tgrid, Grid &rgrid );
71 static int windChill( Grid &ogrid, const char *func, Grid &tgrid,
72 Grid &sgrid );
73 static int heatIndex( Grid &ogrid, Grid &tgrid, Grid &rgrid );
74 static int potTemp( Grid &ogrid, Grid &grid );
75 static int virtTemp( Grid &ogrid, Grid &tgrid, Grid &rgrid );
76 static int virtPotTemp( Grid &ogrid, Grid &tgrid, Grid &rgrid );
77 static int equivPotTemp( Grid &ogrid, Grid &tgrid, Grid &rgrid );
78 static int geosU( Grid &ogrid, Grid &hgrid );
79 static int geosV( Grid &ogrid, Grid &hgrid );
80 static int showalter( Grid &ogrid, Grid &t8grid, Grid &r8grid, Grid &t5grid );
81 static int adjustDir( Grid &ugrid, Grid &vgrid, Domain &dom, int flag );
82
83 enum {
84 UVGRID,
85 UVEW
86 };
87 };
88}
89#endif
This class stores and manipulates domain data.
Definition Domain.h:19
This class does math on grids.
Definition GridMath.h:9
static int scale(Grid &ogrid, float scale)
Definition GridMath.cc:696
static int resetMiss(Grid &grid, float nval)
Definition GridMath.cc:646
static int pow(Grid &ogrid, Grid &grida, Grid &gridb)
Definition GridMath.cc:1363
static int locatePoint(Grid &ogrid, Grid &grid, const char *oper)
Definition GridMath.cc:1555
static int diff(Grid &ogrid, Grid &igrid)
Definition GridMath.cc:884
static int log10(Grid &ogrid, Grid &grid)
Definition GridMath.cc:1278
static int sqrt(Grid &ogrid, Grid &grid)
Definition GridMath.cc:1110
static int max(Grid &ogrid, Grids &grids)
Definition GridMath.cc:1413
static int abs(Grid &ogrid, Grid &grid)
Definition GridMath.cc:1152
static int remap(Grid &ogrid, Domain &domain, Grid &igrid)
Definition GridMath.cc:505
static int mod(Grid &ogrid, Grid &grida, Grid &gridb)
Definition GridMath.cc:1062
static int cutoff(Grid &ogrid, const char *cmd, float cutoff, float nval, Grid &igrid)
Definition GridMath.cc:568
static int mask(Grid &grid, const char *cmd, float cutoff)
Definition GridMath.cc:610
static int units(Grid &grid, const char *units)
Definition GridMath.cc:381
static int inv(Grid &ogrid, Grid &grid)
Definition GridMath.cc:1194
static bool isProjEqual(Grid &grd1, Grid &grd2)
Definition GridMath.cc:442
static int offset(Grid &ogrid, float off)
Definition GridMath.cc:669
static float maxSpd(Grid &ugrid, Grid &vgrid)
Definition GridMath.cc:472
static int revalue(Grid &ogrid, const char *str, Grid &igrid)
Definition GridMath.cc:539
static int add(Grid &ogrid, Grid &igrid)
Definition GridMath.cc:762
static int mult(Grid &ogrid, Grid &grida, Grid &gridb)
Definition GridMath.cc:964
static bool isDomainEqual(Grid &grd1, Grid &grd2)
Definition GridMath.cc:412
static int interp(Grid &ogrid, Grid &grid1, float ival, Grid &grid2)
Definition GridMath.cc:725
static int adjustUV(Grid &ugrid, Grid &vgrid)
Definition GridMath.cc:1511
static int exp(Grid &ogrid, Grid &grid)
Definition GridMath.cc:1320
static int min(Grid &ogrid, Grids &grids)
Definition GridMath.cc:1461
static int log(Grid &ogrid, Grid &grid)
Definition GridMath.cc:1236
static int div(Grid &ogrid, Grid &grida, Grid &gridb)
Definition GridMath.cc:1013
This class defines a grid.
Definition Grid.h:20
This class sets up a repository for grids.
Definition Grids.h:14
All WXP classes fall under the WXP namespace.
Definition Angle.h:4