1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
|
C Copyright 1981-2007 ECMWF
C
C Licensed under the GNU Lesser General Public License which
C incorporates the terms and conditions of version 3 of the GNU
C General Public License.
C See LICENSE and gpl-3.0.txt for details.
C
SUBROUTINE JALLWN( PSHUP, KTRUNC, PNORTH, PSOUTH, PWEST, PEAST,
X PLATINC, PLONINC, POUTF, KRET)
C
C---->
C**** JALLWN
C
C PURPOSE
C _______
C
C This routine converts spectral input fields to standard
C lat/long grid fields.
C
C INTERFACE
C _________
C
C CALL JALLWN( PSHUP, KTRUNC, PNORTH, PSOUTH, PWEST, PEAST,
C X PLATINC, PLONINC, POUTF, KRET)
C
C Input parameters
C ________________
C
C PSHUP - Spherical harmonics field, unpacked
C KTRUNC - Truncation number of spherical harmonics field
C PNORTH - Northernmost latitude for output field (degrees)
C PSOUTH - Southernmost latitude for output field (degrees)
C PWEST - Westernmost longitude for output field (degrees)
C PEAST - Easternmost longitude for output field (degrees)
C PLATINC - Grid interval between latitudes in degrees
C PLONINC - Grid interval between longitudes in degrees
C INTLOG - Output log message
C INTLOGR - Output log message (with real value)
C
C Output parameters
C ________________
C
C POUTF - Output grid point field
C KRET - Return status code
C 0 = OK
C
C Common block usage
C __________________
C
C JDCNDBG
C
C Method
C ______
C
C Generates the latitudes in bands, 32 at a time plus some
C remainder.
C
C Externals
C _________
C
C JALLGP - Cnverts spectral fields to lat/long grid fields.
C JSLLGP - Converts stretched spectral fields to lat/long grids
C
C
C Reference
C _________
C
C None.
C
C
C Comments
C ________
C
C Calls JALLGP or JSLLGP to do all the work!
C
C
C AUTHOR
C ______
C
C J.D.Chambers *ECMWF* Nov 1993
C
C MODIFICATIONS
C _____________
C
C J.D.Chambers *ECMWF* Oct 1996
C Replaced all code by a call to JALLGP.
C
C----<
C _______________________________________________________
C
C* Section 0. Definition of variables.
C _______________________________________________________
C
IMPLICIT NONE
#include "jparams.h"
#include "parim.h"
#include "nifld.common"
C
C Subroutine arguments
C
COMPLEX PSHUP
DIMENSION PSHUP(*)
INTEGER KTRUNC
REAL PNORTH, PSOUTH, PWEST, PEAST, PLATINC, PLONINC
REAL POUTF
DIMENSION POUTF(*)
INTEGER KRET
C
C Parameters
INTEGER JPROUTINE
PARAMETER ( JPROUTINE = 30000 )
C
C Local variables
C
C _______________________________________________________
C
C* Section 1. Initialization.
C _______________________________________________________
C
100 CONTINUE
CALL JDEBUG( )
C
IF( NDBG.GT.0 )
X CALL INTLOG(JP_DEBUG,'JALLWN: Calling JALLGP', JPQUIET)
C
IF( RISTRET.NE.0 ) THEN
CALL JSLLGP( PSHUP, KTRUNC, PNORTH, PSOUTH, PWEST, PEAST,
X PLATINC, PLONINC, POUTF, KRET)
ELSE
CALL JALLGP( PSHUP, KTRUNC, PNORTH, PSOUTH, PWEST, PEAST,
X PLATINC, PLONINC, POUTF, KRET)
ENDIF
C
IF( NDBG.GT.0 )
X CALL INTLOG(JP_DEBUG,'JALLWN: Returned from JALLGP', JPQUIET)
C
C _______________________________________________________
C
C* Section 9. Return to calling routine. Format statements
C _______________________________________________________
C
900 CONTINUE
C
RETURN
END
|