W3FT07
The W3FT07 routine transforms data contained in a given
grid array by translation, rotation about a common
point and dilatation in order to create a new grid
array according to specifications.
USAGE: CALL W3FT07(FLDA,IA,JA,AIPOLE,AJPOLE,BIPOLE,BJPOLE,DSCALE,
ANGLE,LINEAR,LDEFQQ,DEFALT,FLDB,IB,JB)
Input argument list:
FLDA(IA,JA) - REAL*4 ORIGINAL SOURCE GRID-POINT DATA FIELD
AIPOLE,AJPOLE - REAL*4 COMMON POINT I- AND J-COORDINATES OF THE
ORIGINAL FIELD, ASSUMING A RIGHT-HAND CARTESIAN
COORDINATE SYSTEM. THE POINT NEED NOT BE INSIDE
THE BOUNDS OF EITHER GRID
AND CAN HAVE FRACTIONAL VALUES.
COMMON POINT ABOUT WHICH TO ROTATE THE GRIDPOINTS
BIPOLE,BJPOLE - REAL*4 COMMON POINT I- AND J-COORDINATES FOR
TRANSFORMED DESTINATION GRID
DSCALE - REAL*4 SCALE-CHANGE (DILATION) EXPRESSED AS
A RATIO OF THE TRANSFORMED FIELD TO THE ORIGINAL
FIELD
DSCALE = GRDLENKM(DESTINATION) / GRDLENKM(SOURCE)
ANGLE - REAL*4 DEGREE MEASURE OF THE ANGLE REQUIRED TO
ROTATE THE J-ROW OF THE ORIGINAL GRID INTO
COINCIDENCE WITH THE NEW GRID. (+ COUNTER-
CLOCKWISE, - CLOCKWISE)
ANGLE = VERTLONW(SOURCE) - VERTLONW(DESTINATION)
LINEAR - LOGICAL*4 INTERPOLATION-METHOD SELECTION SWITCH:
.TRUE. BI-LINEAR INTERPOLATION
.FALSE. BI-QUADRATIC INTERPOLATION
LDEFQQ - LOGICAL*4 DEFAULT-VALUE SWITCH:
IF .TRUE. THEN
USE DEFAULT-VALUE FOR DESTINATION POINT
OUT-OF-BOUNDS OF GIVEN GRID;
ELSE
EXTRAPOLATE COARSELY FROM NEARBY BNDRY POINT
DEFALT - REAL*4 THE DEFAULT-VALUE TO USE IF LDEFQQ = .TRUE.
Output argument list:
FLDB(IB,JB) - REAL*4 RESULTING TRANSFORMED DESTINATION FIELD
REMARKS:
LIST CAVEATS, OTHER HELPFUL HINTS OR INFORMATION
IN GENERAL 'FLDA' AND 'FLDB' CANNOT BE EQUIVALENCED
ALTHOUGH THERE ARE SITUATIONS IN WHICH IT WOULD BE SAFE TO DO
SO. CARE SHOULD BE TAKEN THAT ALL OF THE NEW GRID POINTS LIE
WITHIN THE ORIGINAL GRID, NO ERROR CHECKS ARE MADE.
W3lib.tar |
Library contains Fortran 90 decoder/encoder
routines for GRIB edition 1. (Fortran90)
Date posted: 2/22/2007 |