- Timestamp:
- Aug 21, 2019, 8:11:08 PM (5 years ago)
- Branches:
- master, ctbto, dev
- Children:
- 7e59510, e0005c9
- Parents:
- dfa7dbd
- git-author:
- pesei <petra seibert -@…> (08/21/19 20:06:51)
- git-committer:
- pesei <petra seibert -@…> (08/21/19 20:11:08)
- Location:
- Source/Fortran
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
Source/Fortran/phgrreal.f90
rdfa7dbd r5b5589b 14 14 ! CX00,CX01,CX11,CX02,....CXMNAUFMNAUF 15 15 ! FELD = FELD DER METEOROLOGISCHEN VARIABLEN 16 ! 17 ! Z 16 ! WSAVE = Working Array fuer Fouriertransformation 17 ! Z = LEGENDREFUNKTIONSWERTE 18 18 ! 19 19 ! MNAUF ANZAHL DER FOURIERKOEFFIZIENTEN … … 24 24 IMPLICIT NONE 25 25 26 ! 26 ! Anzahl der Gitterpunkte auf jedem Breitenkreis 27 27 INTEGER MLAT(MAXB/2) 28 28 INTEGER K,MAXL,MAXB,MLEVEL,MNAUF … … 84 84 LLPS=LLP 85 85 IF (2*I+1 .LT. MLAT(K)) THEN 86 ! 86 ! Innerste Schleife aufgespalten um if-Abfrage zu sparen 87 87 DO 18 J=I,MNAUF,2 88 88 SCR=SCR+Z(LLP,K)*CXMN(2*LL,L) … … 124 124 !! FELDVARIABLEN VOM PHASENRAUM IN DEN PHYSIKALISCHEN 125 125 !! RAUM AUF KUGELKOORDINATEN DURCH. Es kann ein Teilausschnitt 126 !! 126 !! Der Erde angegeben werden. Diese Routine ist langsamer als phgrph 127 127 128 128 ! CXMN = SPEKTRALKOEFFIZIENTEN IN DER REIHENFOLGE … … 168 168 DO 11 J=5,5 169 169 IF (ABS(ABS(Z(100,J))-ABS(Z(100,MAXB+1-J))) .GT. 1E-11) SYM=.FALSE. 170 ! 170 ! WRITE(*,*) ABS(Z(100,J)),ABS(Z(100,MAXB+1-J)) 171 171 11 CONTINUE 172 172 !! WRITE(*,*) 'Symmetrisch: ',SYM … … 225 225 LLS=LL 226 226 LLPS=LLP 227 ! 227 ! Innerste Schleife aufgespalten um if-Abfrage zu sparen 228 228 DO 18 K=I,MNAUF,2 229 229 SCR=SCR+Z(LLP,J)*CXMN(2*LL,L) … … 398 398 ! Die Polynome sind wie im ECMWF indiziert, d.h. 399 399 ! P00,P10,P11,P20,P21,P22,... 400 ! 400 ! Ansonsten ist die Routine analog zu PLGNDN 401 401 ! X IST DER COSINUS DES ZENITWINKELS ODER 402 402 ! DER SINUS DER GEOGRAFISCHEN BREITE -
Source/Fortran/rwgrib2.f90
rdfa7dbd r5b5589b 131 131 do i=1,LLEN 132 132 if (MLEVELIST(i:i) .eq. '/') THEN 133 134 135 136 137 138 139 140 133 l=l+1 134 MLINDEX(l)=i 135 end if 136 end do 137 MLINDEX(l+1)=LLEN+1 138 do i=1,l 139 read(MLEVELIST(MLINDEX(i)+1:MLINDEX(i+1)-1),*) ILEVEL(i) 140 end do 141 141 end if 142 142 … … 153 153 ! call grib_set(igrib,"units","s**-1") 154 154 ! end if 155 155 if (l .ne. mlevel) then 156 156 zsec4(1:maxl*maxb)=RESHAPE(FELD(:,:,ILEVEL(k)),(/maxl*maxb/)) 157 158 159 157 else 158 zsec4(1:maxl*maxb)=RESHAPE(FELD(:,:,k),(/maxl*maxb/)) 159 end if 160 160 call grib_set(igrib,"values",zsec4) 161 161
Note: See TracChangeset
for help on using the changeset viewer.