Changeset dfa7dbd in flex_extract.git
- Timestamp:
- Aug 21, 2019, 7:19:43 PM (5 years ago)
- Branches:
- master, ctbto, dev
- Children:
- 5b5589b
- Parents:
- 8c55c02
- Files:
-
- 9 added
- 7 deleted
- 4 edited
- 4 moved
Legend:
- Unmodified
- Added
- Removed
-
Source/Fortran/makefile_cray
r2d1c338 rdfa7dbd 25 25 BINDIR = . 26 26 27 EXE = CONVERT227 EXE = calc_etadot 28 28 29 29 … … 47 47 $(F90C) -c -g -O3 ftrafo.f 48 48 49 $(BINDIR)/${EXE}: phgrreal.o grphreal.o ftrafo.o rw GRIB2.o posnam.o preconvert.o50 $(F90C) $(DEBUG) $(OPT) -o $(BINDIR)/${EXE} ftrafo.o phgrreal.o grphreal.o rw GRIB2.o posnam.o preconvert.o ${LIB}49 $(BINDIR)/${EXE}: phgrreal.o grphreal.o ftrafo.o rwgrib2.o posnam.o calc_etadot.o 50 $(F90C) $(DEBUG) $(OPT) -o $(BINDIR)/${EXE} ftrafo.o phgrreal.o grphreal.o rwgrib2.o posnam.o calc_etadot.o ${LIB} 51 51 52 52 -
Source/Fortran/makefile_debug
r0007a71 rdfa7dbd 2 2 # 3 3 # Makefile for flex_extract, Fortran code to calculate etadot 4 # Makefile created using by mkmf 19.3.0 4 5 # 5 6 # Copyright: Leopold Haimberger, Petra Seibert 6 7 # SPDX-License-Identifier: GPL-2.0 7 8 # 8 # Version for a machine with grib_api installed on standard paths9 # Version for a machine with grib_api and emoslib installed on standard paths 9 10 # full debugging 10 11 # … … 12 13 13 14 14 GRIB_API_INCLUDE_DIR=/usr/include 15 GRIB_API_LIB= -Bstatic -lgrib_api_f77 -lgrib_api_f90 -lgrib_api -Bdynamic -lm -ljasper 15 EXE = calc_etadot_debug.out 16 17 GRIB_API_LIB= -Bstatic -lgrib_api_f90 -lgrib_api -Bdynamic -lm -ljasper 16 18 EMOSLIB=-lemosR64 17 18 19 LIB = $(GRIB_API_LIB) $(EMOSLIB) 19 20 20 F90 = gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian 21 GRIB_API_INCLUDE_DIR=/usr/include 22 INC = -I. -I$(GRIB_API_INCLUDE_DIR) 21 23 22 F90FLAGS = -I. -I$(GRIB_API_INCLUDE_DIR) 24 FC = gfortran 25 OPT = -g -Og -fbacktrace -fcheck=all 26 FFLAGS = $(OPT) $(LIB) $(INC) -fdefault-real-8 -fopenmp -fconvert=big-endian 27 LDFLAGS = $(OPT) $(LIB) -fopenmp 28 SRC = ./rwgrib2.f90 ./calc_etadot.f90 ./ftrafo.f90 ./grphreal.f90 ./posnam.f90 ./phgrreal.f90 29 OBJ = rwgrib2.o calc_etadot.o ftrafo.o grphreal.o posnam.o phgrreal.o 30 MOD = ftrafo.mod grtoph.mod phtogr.mod rwgrib2.mod 23 31 24 OPT = -g -fbacktrace -fbounds-check 32 .DEFAULT: 33 -echo $@ does not exist. 25 34 26 BINDIR = . 27 EXE = calc_etadot_debug.out 35 all: ${EXE} 36 ftrafo.o: ./ftrafo.f90 phgrreal.o 37 $(FC) $(FFLAGS) -c ./ftrafo.f90 38 grphreal.o: ./grphreal.f90 phgrreal.o 39 $(FC) $(FFLAGS) -c ./grphreal.f90 40 phgrreal.o: ./phgrreal.f90 41 $(FC) $(FFLAGS) -c ./phgrreal.f90 42 posnam.o: ./posnam.f90 43 $(FC) $(FFLAGS) -c ./posnam.f90 44 calc_etadot.o: ./calc_etadot.f90 phgrreal.o grphreal.o ftrafo.o rwgrib2.o 45 $(FC) $(FFLAGS) -c ./calc_etadot.f90 46 rwgrib2.o: ./rwgrib2.f90 47 $(FC) $(FFLAGS) -c ./rwgrib2.f90 28 48 29 .f.o: 30 $(F90) -c $(F90FLAGS) $(OPT) $*.f 31 .f90.o: 32 $(F90) -c $(F90FLAGS) $(OPT) $*.f90 49 clean: -rm -f $(OBJ) ${EXE} $(MOD) 33 50 34 all: ${EXE} 35 36 clean: 37 rm *.o *.mod #${EXE} 38 39 preconvert.o: preconvert.f90 40 $(F90) -c $(OPT) $(F90FLAGS) preconvert.f90 41 42 phgrreal.o: phgrreal.f 43 $(F90) -c $(OPT) phgrreal.f 44 45 rwGRIB2.o: rwGRIB2.f90 46 $(F90) -c $(OPT) $(F90FLAGS) rwGRIB2.f90 47 48 grphreal.o: grphreal.f 49 $(F90) -c $(OPT) grphreal.f 50 51 ftrafo.o: ftrafo.f 52 $(F90) -c $(OPT) ftrafo.f 53 54 $(BINDIR)/${EXE}: phgrreal.o grphreal.o ftrafo.o rwGRIB2.o posnam.o preconvert.o 55 $(F90) $(OPT) -o $(BINDIR)/${EXE} ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o ${LIB} 56 57 58 ############################################################################### 59 # 60 # End of the Makefile 61 # 62 ############################################################################### 51 ${EXE}: $(OBJ) 52 $(FC) $(OBJ) -o ${EXE} $(LDFLAGS) -
Source/Fortran/makefile_ecgate
r2d1c338 rdfa7dbd 26 26 BINDIR = . 27 27 28 EXE = CONVERT228 EXE = calc_etadot 29 29 30 30 … … 48 48 $(F90C) -c -g -O3 -fopenmp ftrafo.f 49 49 50 $(BINDIR)/${EXE}: phgrreal.o grphreal.o ftrafo.o rw GRIB2.o posnam.o preconvert.o51 $(F90C) $(DEBUG) $(OPT) -o $(BINDIR)/${EXE} ftrafo.o phgrreal.o grphreal.o rw GRIB2.o posnam.o preconvert.o ${LIB}50 $(BINDIR)/${EXE}: phgrreal.o grphreal.o ftrafo.o rwgrib2.o posnam.o calc_etadot.o 51 $(F90C) $(DEBUG) $(OPT) -o $(BINDIR)/${EXE} ftrafo.o phgrreal.o grphreal.o rwgrib2.o posnam.o calc_etadot.o ${LIB} 52 52 53 53 -
Source/Fortran/makefile_fast
r0007a71 rdfa7dbd 2 2 # 3 3 # Makefile for flex_extract, Fortran code to calculate etadot 4 # Makefile created using by mkmf 19.3.0 4 5 # 5 6 # Copyright: Leopold Haimberger, Petra Seibert 6 7 # SPDX-License-Identifier: GPL-2.0 7 8 # 8 # Version for a machine with grib_api installed on standard paths9 # compiled for fast runs9 # Version for a machine with grib_api and emoslib installed on standard paths 10 # full debugging 10 11 # 11 12 ############################################################################### 12 13 13 14 14 GRIB_API_INCLUDE_DIR=/usr/include15 GRIB_API_LIB= -Bstatic -lgrib_api_f77 -lgrib_api_f90 -lgrib_api -Bdynamic -lm -ljasper16 EMOSLIB=-lemosR6417 18 LIB = $(GRIB_API_LIB) $(EMOSLIB)19 20 F90 = gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian21 22 F90FLAGS = -I. -I$(GRIB_API_INCLUDE_DIR)23 24 OPT = -O325 26 BINDIR = .27 15 EXE = calc_etadot_fast.out 28 16 29 .f.o: 30 $(F90) -c $(F90FLAGS) $(OPT) $*.f 31 .f90.o: 32 $(F90) -c $(F90FLAGS) $(OPT) $*.f90 17 GRIB_API_LIB= -Bstatic -lgrib_api_f90 -lgrib_api -Bdynamic -lm -ljasper 18 EMOSLIB=-lemosR64 19 LIB = $(GRIB_API_LIB) $(EMOSLIB) 33 20 34 all: ${EXE} 21 GRIB_API_INCLUDE_DIR=/usr/include 22 INC = -I. -I$(GRIB_API_INCLUDE_DIR) 35 23 36 clean: 37 rm *.o *.mod #${EXE} 24 FC = gfortran 25 OPT = -O3 -march=native 26 FFLAGS = $(OPT) $(LIB) $(INC) -fdefault-real-8 -fopenmp -fconvert=big-endian 27 LDFLAGS = $(OPT) $(LIB) -fopenmp 28 SRC = ./rwgrib2.f90 ./calc_etadot.f90 ./ftrafo.f90 ./grphreal.f90 ./posnam.f90 ./phgrreal.f90 29 OBJ = rwgrib2.o calc_etadot.o ftrafo.o grphreal.o posnam.o phgrreal.o 30 MOD = ftrafo.mod grtoph.mod phtogr.mod rwgrib2.mod 38 31 39 preconvert.o: preconvert.f90 40 $(F90) -c $(OPT) $(F90FLAGS) preconvert.f90 41 42 phgrreal.o: phgrreal.f 43 $(F90) -c $(OPT) phgrreal.f 32 .DEFAULT: 33 -echo $@ does not exist. 44 34 45 rwGRIB2.o: rwGRIB2.f90 46 $(F90) -c $(OPT) $(F90FLAGS) rwGRIB2.f90 35 all: ${EXE} 36 ftrafo.o: ./ftrafo.f90 phgrreal.o 37 $(FC) $(FFLAGS) -c ./ftrafo.f90 38 grphreal.o: ./grphreal.f90 phgrreal.o 39 $(FC) $(FFLAGS) -c ./grphreal.f90 40 phgrreal.o: ./phgrreal.f90 41 $(FC) $(FFLAGS) -c ./phgrreal.f90 42 posnam.o: ./posnam.f90 43 $(FC) $(FFLAGS) -c ./posnam.f90 44 calc_etadot.o: ./calc_etadot.f90 phgrreal.o grphreal.o ftrafo.o rwgrib2.o 45 $(FC) $(FFLAGS) -c ./calc_etadot.f90 46 rwgrib2.o: ./rwgrib2.f90 47 $(FC) $(FFLAGS) -c ./rwgrib2.f90 47 48 48 grphreal.o: grphreal.f 49 $(F90) -c $(OPT) grphreal.f49 clean: 50 -rm -f $(OBJ) ${EXE} $(MOD) 50 51 51 ftrafo.o: ftrafo.f 52 $(F90) -c $(OPT) ftrafo.f 53 54 $(BINDIR)/${EXE}: phgrreal.o grphreal.o ftrafo.o rwGRIB2.o posnam.o preconvert.o 55 $(F90) $(OPT) -o $(BINDIR)/${EXE} ftrafo.o phgrreal.o grphreal.o rwGRIB2.o posnam.o preconvert.o ${LIB} 56 57 58 ############################################################################### 59 # 60 # End of the Makefile 61 # 62 ############################################################################### 52 ${EXE}: $(OBJ) 53 $(FC) $(OBJ) -o ${EXE} $(LDFLAGS) -
Source/Fortran/makefile_local_ifort
r2d1c338 rdfa7dbd 29 29 BINDIR = . 30 30 31 EXE = CONVERT2.s8.ifort31 EXE = calc_etadot.s8.ifort 32 32 33 33 … … 51 51 $(F90C) -c -g -O3 ftrafo.f 52 52 53 $(BINDIR)/${EXE}: phgrreal.o grphreal.o ftrafo.o rw GRIB2.o posnam.o preconvert.o54 $(F90C) $(DEBUG) $(OPT) -o $(BINDIR)/${EXE} ftrafo.o phgrreal.o grphreal.o rw GRIB2.o posnam.o preconvert.o ${LIB}53 $(BINDIR)/${EXE}: phgrreal.o grphreal.o ftrafo.o rwgrib2.o posnam.o calc_etadot.o 54 $(F90C) $(DEBUG) $(OPT) -o $(BINDIR)/${EXE} ftrafo.o phgrreal.o grphreal.o rwgrib2.o posnam.o calc_etadot.o ${LIB} 55 55 56 56 -
Source/Fortran/rwgrib2.f90
rba99230 rdfa7dbd 1 MODULE RWGRIB2 2 3 CONTAINS 4 5 SUBROUTINE READLATLON(FILENAME,FELD,MAXL,MAXB,MLEVEL,MPAR) 6 7 USE GRIB_API 8 9 IMPLICIT NONE 10 11 integer :: ifile 12 integer :: iret 1 MODULE RWGRIB2 2 3 CONTAINS 4 5 SUBROUTINE READLATLON(FILENAME,FELD,MAXL,MAXB,MLEVEL,MPAR) 6 7 !! Read a field from GRIB file on lat-lon grid 8 9 USE GRIB_API 10 11 IMPLICIT NONE 12 13 integer :: ifile 14 integer :: iret 13 15 integer :: n,mk,parid,nm 14 16 integer :: i,k … … 68 70 69 71 kloop: do k=1,nm 70 if (parid .eq. mpar(k)) then72 if (parid .eq. mpar(k)) then 71 73 ! l(k)=l(k)+1 72 74 feld(:,:,(k-1)*div+level)=reshape(values,(/maxl,maxb/)) 73 75 ! print*,(k-1)*div+l(k),parid 74 76 exit kloop 75 end if76 end do kloop77 if (k .gt. nm .and. parid .ne. mpar(nm)) then77 end if 78 end do kloop 79 if (k .gt. nm .and. parid .ne. mpar(nm)) then 78 80 write(*,*) k,nm,parid,mpar(nm) 79 81 write(*,*) 'ERROR readlatlon: parameter ',parid,'is not',mpar 80 82 stop 81 end if83 end if 82 84 83 85 ! print*,i 84 86 END DO iloop 85 write(*,*) 'readlatlon: ',i-1,' records read'87 !! write(*,*) 'readlatlon: ',i-1,' records read' 86 88 87 89 DO i=1,n … … 89 91 END DO 90 92 91 deallocate(values)93 if (allocated(values)) deallocate(values) 92 94 deallocate(igrib) 93 95 94 END SUBROUTINE READLATLON 95 96 SUBROUTINE WRITELATLON(iunit,igrib,ogrib,FELD,MAXL,MAXB,MLEVEL,& 97 MLEVELIST,MSTRIDE,MPAR) 98 99 USE GRIB_API 100 101 IMPLICIT NONE 102 103 INTEGER IFIELD,MLEVEL,MNAUF,I,J,K,L,MSTRIDE,IERR,JOUT 104 INTEGER MPAR(MSTRIDE),MAXL,MAXB,LEVMIN,LEVMAX 105 INTEGER IUNIT,igrib,ogrib 106 REAL ZSEC4(MAXL*MAXB) 107 REAL FELD(MAXL,MAXB,MLEVEL) 108 CHARACTER*(*) MLEVELIST 109 INTEGER ILEVEL(MLEVEL),MLINDEX(MLEVEL+1),LLEN 110 111 ! parse MLEVELIST 112 113 LLEN=len(trim(MLEVELIST)) 114 if(index(MLEVELIST,'to') .ne. 0 .or. index(MLEVELIST,'TO') .ne. 0) THEN 115 i=index(MLEVELIST,'/') 116 read(MLEVELIST(1:i-1),*) LEVMIN 117 i=index(MLEVELIST,'/',.true.) 118 read(MLEVELIST(i+1:LLEN),*) LEVMAX 119 l=0 120 do i=LEVMIN,LEVMAX 121 l=l+1 122 ILEVEL(l)=i 123 enddo 124 else 125 l=1 126 MLINDEX(1)=0 127 do i=1,LLEN 128 if(MLEVELIST(i:i) .eq. '/') THEN 129 l=l+1 130 MLINDEX(l)=i 131 endif 132 enddo 133 MLINDEX(l+1)=LLEN+1 134 do i=1,l 135 read(MLEVELIST(MLINDEX(i)+1:MLINDEX(i+1)-1),*) ILEVEL(i) 136 enddo 137 endif 138 139 DO k=1,l 140 call grib_set(igrib,"level",ILEVEL(k)) 141 DO j=1,MSTRIDE 142 call grib_set(igrib,"paramId",MPAR(j)) 143 ! if(MPAR(j) .eq. 87) then 96 END SUBROUTINE READLATLON 97 98 SUBROUTINE WRITELATLON(iunit,igrib,ogrib,FELD,MAXL,MAXB,MLEVEL,& 99 MLEVELIST,MSTRIDE,MPAR) 100 101 !! write a field on lat-lon grid to GRIB file 102 103 USE GRIB_API 104 105 IMPLICIT NONE 106 107 INTEGER IFIELD,MLEVEL,MNAUF,I,J,K,L,MSTRIDE,IERR,JOUT 108 INTEGER MPAR(MSTRIDE),MAXL,MAXB,LEVMIN,LEVMAX 109 INTEGER IUNIT,igrib,ogrib 110 REAL ZSEC4(MAXL*MAXB) 111 REAL FELD(MAXL,MAXB,MLEVEL) 112 CHARACTER*(*) MLEVELIST 113 INTEGER ILEVEL(MLEVEL),MLINDEX(MLEVEL+1),LLEN 114 115 ! parse MLEVELIST 116 117 LLEN=len(trim(MLEVELIST)) 118 if (index(MLEVELIST,'to') .ne. 0 .or. index(MLEVELIST,'TO') .ne. 0) THEN 119 i=index(MLEVELIST,'/') 120 read(MLEVELIST(1:i-1),*) LEVMIN 121 i=index(MLEVELIST,'/',.true.) 122 read(MLEVELIST(i+1:LLEN),*) LEVMAX 123 l=0 124 do i=LEVMIN,LEVMAX 125 l=l+1 126 ILEVEL(l)=i 127 end do 128 else 129 l=1 130 MLINDEX(1)=0 131 do i=1,LLEN 132 if (MLEVELIST(i:i) .eq. '/') THEN 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 end if 142 143 DO k=1,l 144 call grib_set(igrib,"level",ILEVEL(k)) 145 DO j=1,MSTRIDE 146 call grib_set(igrib,"paramId",MPAR(j)) 147 ! if (MPAR(j) .eq. 87) then 144 148 ! call grib_set(igrib,"shortName","etadot") 145 149 ! call grib_set(igrib,"units","Pa,s**-1") 146 ! end if147 ! if (MPAR(j) .eq. 77) then150 ! end if 151 ! if (MPAR(j) .eq. 77) then 148 152 ! call grib_set(igrib,"shortName","etadot") 149 153 ! call grib_set(igrib,"units","s**-1") 150 ! endif 151 if(l .ne. mlevel) then 152 zsec4(1:maxl*maxb)=RESHAPE(FELD(:,:,ILEVEL(k)),(/maxl*maxb/)) 153 else 154 zsec4(1:maxl*maxb)=RESHAPE(FELD(:,:,k),(/maxl*maxb/)) 155 endif 156 call grib_set(igrib,"values",zsec4) 157 158 call grib_write(igrib,iunit) 159 160 ENDDO 161 ENDDO 162 163 164 165 END SUBROUTINE WRITELATLON 166 167 SUBROUTINE READSPECTRAL(FILENAME,CXMN,MNAUF,MLEVEL,& 168 MAXLEV,MPAR,A,B) 169 170 USE GRIB_API 171 172 IMPLICIT NONE 173 174 175 integer :: ifile 154 ! end if 155 if (l .ne. mlevel) then 156 zsec4(1:maxl*maxb)=RESHAPE(FELD(:,:,ILEVEL(k)),(/maxl*maxb/)) 157 else 158 zsec4(1:maxl*maxb)=RESHAPE(FELD(:,:,k),(/maxl*maxb/)) 159 end if 160 call grib_set(igrib,"values",zsec4) 161 162 call grib_write(igrib,iunit) 163 164 END DO 165 END DO 166 167 END SUBROUTINE WRITELATLON 168 169 SUBROUTINE READSPECTRAL(FILENAME,CXMN,MNAUF,MLEVEL,MAXLEV,MPAR,A,B) 170 171 !! read a GRIB file in spherical harmonics 172 173 USE GRIB_API 174 175 IMPLICIT NONE 176 177 integer :: ifile 176 178 integer :: iret 177 179 integer :: n,mk,div,nm,k … … 182 184 REAL :: A(MAXLEV+1),B(MAXLEV+1),pv(2*MAXLEV+2) 183 185 REAL:: CXMN(0:(MNAUF+1)*(MNAUF+2)-1,MLEVEL) 184 integer:: maxl,maxb,mlevel,mstride,mpar(:),mnauf,ioffset,ipar,ilev,l(size(mpar))185 character*(*):: filename186 integer:: maxl,maxb,mlevel,mstride,mpar(:),mnauf,ioffset,ipar,ilev,l(size(mpar)) 187 character*(*):: filename 186 188 187 189 call grib_open_file(ifile, TRIM(FILENAME),'r') … … 226 228 227 229 call grib_get(igrib(i),'paramId',parid) 228 nm=size(mpar)229 div=mlevel/nm230 kloop: do k=1,nm231 if (parid .eq. mpar(k)) then230 nm=size(mpar) 231 div=mlevel/nm 232 kloop: do k=1,nm 233 if (parid .eq. mpar(k)) then 232 234 l(k)=l(k)+1 233 235 cxmn(:,(k-1)*div+l(k))=values(1:(MNAUF+1)*(MNAUF+2)) 234 236 ! print*,(k-1)*div+l(k),parid 235 237 exit kloop 236 end if238 end if 237 239 238 end do kloop239 if (k .gt. nm .and. parid .ne. mpar(nm)) then240 end do kloop 241 if (k .gt. nm .and. parid .ne. mpar(nm)) then 240 242 write(*,*) k,nm,parid,mpar(nm) 241 243 write(*,*) 'ERROR readspectral: parameter ',parid,'is not',mpar 242 244 stop 243 end if245 end if 244 246 245 247 ! print*,i … … 247 249 END DO iloop 248 250 249 write(*,*) 'readspectral: ',i-1,' records read'251 !! write(*,*) 'readspectral: ',i-1,' records read' 250 252 251 253 DO i=1,n … … 256 258 deallocate(igrib) 257 259 258 259 260 A=pv(1:1+MAXLEV) 261 B=pv(2+MAXLEV:2*MAXLEV+2) 262 263 END SUBROUTINE READSPECTRAL 264 265 END MODULE RWGRIB2 260 A=pv(1:1+MAXLEV) 261 B=pv(2+MAXLEV:2*MAXLEV+2) 262 263 END SUBROUTINE READSPECTRAL 264 265 END MODULE RWGRIB2 -
Testing/Regression/FortranEtadot/run_regrtest.sh
r6bc4b42 rdfa7dbd 9 9 10 10 export OMP_NUM_THREADS=4 # you may want to change this 11 export OMP_PLACES=sockets 11 export OMP_PLACES=cores 12 export OMP_DISPLAY_ENV=verbose 12 13 testhome=`pwd` 13 14 path1=../../../Source/Fortran/ -
Testing/Regression/FortranEtadot/runtimes.csv
r2d1c338 rdfa7dbd 15 15 0007a71, 'reference', 'latlonall_debug', 0m0.405s, 0m0.536s, 0m0.008s 16 16 0007a71, 'reference', 'latlonall_fast', 0m0.350s, 0m0.496s, 0m0.004s 17 6bc4b42, 'reference', 'etadot_debug', 0m0.322s, 0m0.360s, 0m0.012s 18 6bc4b42, 'reference', 'etadot_fast', 0m0.311s, 0m0.348s, 0m0.008s 19 6bc4b42, 'reference', 'etadotall_debug', 0m0.387s, 0m0.428s, 0m0.008s 20 6bc4b42, 'reference', 'etadotall_fast', 0m0.382s, 0m0.424s, 0m0.004s 21 6bc4b42, 'reference', 'gauss_debug', 0m3.346s, 0m8.776s, 0m0.152s 22 6bc4b42, 'reference', 'gauss_fast', 0m2.060s, 0m4.036s, 0m0.108s 23 6bc4b42, 'reference', 'gaussall_debug', 0m13.690s, 0m38.840s, 0m0.292s 24 6bc4b42, 'reference', 'gaussall_fast', 0m7.507s, 0m16.524s, 0m0.308s 25 6bc4b42, 'reference', 'latlon_debug', 0m0.387s, 0m0.420s, 0m0.016s 26 6bc4b42, 'reference', 'latlon_fast', 0m0.335s, 0m0.376s, 0m0.004s 27 6bc4b42, 'reference', 'latlonall_debug', 0m0.351s, 0m0.392s, 0m0.004s 28 6bc4b42, 'reference', 'latlonall_fast', 0m0.338s, 0m0.380s, 0m0.004s 29 8c55c02, 'reference', 'etadot_debug', 0m0.263s, 0m0.304s, 0m0.004s 30 8c55c02, 'reference', 'etadot_fast', 0m0.261s, 0m0.296s, 0m0.008s 31 8c55c02, 'reference', 'etadotall_debug', 0m0.348s, 0m0.388s, 0m0.004s 32 8c55c02, 'reference', 'etadotall_fast', 0m0.391s, 0m0.428s, 0m0.008s 33 8c55c02, 'reference', 'gauss_debug', 0m1.985s, 0m3.940s, 0m0.104s 34 8c55c02, 'reference', 'gauss_fast', 0m1.976s, 0m3.912s, 0m0.108s 35 8c55c02, 'reference', 'gaussall_debug', 0m7.653s, 0m16.852s, 0m0.368s 36 8c55c02, 'reference', 'gaussall_fast', 0m7.533s, 0m16.456s, 0m0.408s 37 8c55c02, 'reference', 'latlon_debug', 0m0.334s, 0m0.376s, 0m0.004s 38 8c55c02, 'reference', 'latlon_fast', 0m0.332s, 0m0.368s, 0m0.008s 39 8c55c02, 'reference', 'latlonall_debug', 0m0.394s, 0m0.424s, 0m0.016s 40 8c55c02, 'reference', 'latlonall_fast', 0m0.344s, 0m0.376s, 0m0.012s 41
Note: See TracChangeset
for help on using the changeset viewer.