Changeset dfa7dbd in flex_extract.git


Ignore:
Timestamp:
Aug 21, 2019, 7:19:43 PM (5 years ago)
Author:
pesei <petra seibert -@…>
Branches:
master, ctbto, dev
Children:
5b5589b
Parents:
8c55c02
Message:

changes in the Fortran part and associated regression test

2019-08-21 PS
introduce the "new" versions of source files:

all .f90 free format
code beautification
regression test is OK

make new local gfortran makefiles, remove parameters not needed
anymore

change filenames rwgrib.f90 (all lower), preconvert to calc_etadot,
adapt messages and comments in calc_etadot.f90
adapt all makefiles to new filenames
adapt success message of logfiles in regression test references
redo regression test OK

provide softlinks for standards:

calc_etadot.out -> calc_etadot_fast.out
makefile_local_gfortran -> makefile_fast

provide changelog.txt in Fortran
provide readme.txt in Regression/FortranEtadot?

Files:
9 added
7 deleted
4 edited
4 moved

Legend:

Unmodified
Added
Removed
  • Source/Fortran/makefile_cray

    r2d1c338 rdfa7dbd  
    2525BINDIR  =      .
    2626
    27 EXE     =      CONVERT2
     27EXE     =      calc_etadot
    2828
    2929
     
    4747        $(F90C) -c -g -O3 ftrafo.f
    4848
    49 $(BINDIR)/${EXE}:       phgrreal.o grphreal.o ftrafo.o rwGRIB2.o  posnam.o preconvert.o
    50         $(F90C) $(DEBUG) $(OPT) -o $(BINDIR)/${EXE} ftrafo.o phgrreal.o grphreal.o rwGRIB2.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}
    5151
    5252
  • Source/Fortran/makefile_debug

    r0007a71 rdfa7dbd  
    22#
    33# Makefile for flex_extract, Fortran code to calculate etadot
     4# Makefile created using by mkmf 19.3.0
    45#
    56# Copyright: Leopold Haimberger, Petra Seibert
    67# SPDX-License-Identifier: GPL-2.0
    78#
    8 # Version for a machine with grib_api installed on standard paths
     9# Version for a machine with grib_api and emoslib installed on standard paths
    910# full debugging
    1011#
     
    1213
    1314
    14 GRIB_API_INCLUDE_DIR=/usr/include
    15 GRIB_API_LIB=  -Bstatic  -lgrib_api_f77 -lgrib_api_f90 -lgrib_api -Bdynamic  -lm  -ljasper
     15EXE      =  calc_etadot_debug.out
     16
     17GRIB_API_LIB=  -Bstatic -lgrib_api_f90 -lgrib_api -Bdynamic -lm -ljasper
    1618EMOSLIB=-lemosR64
    17 
    1819LIB =  $(GRIB_API_LIB) $(EMOSLIB)
    1920
    20 F90 = gfortran -m64 -fdefault-real-8 -fcray-pointer -fno-second-underscore -ffixed-line-length-132 -fopenmp -fconvert=big-endian
     21GRIB_API_INCLUDE_DIR=/usr/include
     22INC = -I. -I$(GRIB_API_INCLUDE_DIR)
    2123
    22 F90FLAGS =  -I. -I$(GRIB_API_INCLUDE_DIR)
     24FC = gfortran
     25OPT = -g -Og -fbacktrace -fcheck=all
     26FFLAGS =   $(OPT) $(LIB) $(INC) -fdefault-real-8 -fopenmp -fconvert=big-endian
     27LDFLAGS =  $(OPT) $(LIB) -fopenmp
     28SRC = ./rwgrib2.f90 ./calc_etadot.f90 ./ftrafo.f90 ./grphreal.f90 ./posnam.f90 ./phgrreal.f90
     29OBJ = rwgrib2.o calc_etadot.o ftrafo.o grphreal.o posnam.o phgrreal.o
     30MOD = ftrafo.mod  grtoph.mod    phtogr.mod  rwgrib2.mod
    2331
    24 OPT = -g -fbacktrace -fbounds-check
     32.DEFAULT:
     33        -echo $@ does not exist.
    2534
    26 BINDIR   =  .
    27 EXE      =  calc_etadot_debug.out
     35all: ${EXE}
     36ftrafo.o: ./ftrafo.f90 phgrreal.o
     37        $(FC)  $(FFLAGS)  -c    ./ftrafo.f90
     38grphreal.o: ./grphreal.f90 phgrreal.o
     39        $(FC)  $(FFLAGS)  -c    ./grphreal.f90
     40phgrreal.o: ./phgrreal.f90
     41        $(FC)  $(FFLAGS)  -c    ./phgrreal.f90
     42posnam.o: ./posnam.f90
     43        $(FC)  $(FFLAGS)  -c    ./posnam.f90
     44calc_etadot.o: ./calc_etadot.f90 phgrreal.o grphreal.o ftrafo.o rwgrib2.o
     45        $(FC)  $(FFLAGS)  -c    ./calc_etadot.f90
     46rwgrib2.o: ./rwgrib2.f90
     47        $(FC)  $(FFLAGS)  -c    ./rwgrib2.f90
    2848
    29 .f.o:
    30         $(F90) -c $(F90FLAGS) $(OPT) $*.f
    31 .f90.o:
    32         $(F90) -c $(F90FLAGS) $(OPT) $*.f90
     49clean: -rm -f $(OBJ) ${EXE} $(MOD)
    3350
    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  
    2626BINDIR  =      .
    2727
    28 EXE     =      CONVERT2
     28EXE     =      calc_etadot
    2929
    3030
     
    4848        $(F90C) -c -g -O3 -fopenmp ftrafo.f
    4949
    50 $(BINDIR)/${EXE}:       phgrreal.o grphreal.o ftrafo.o rwGRIB2.o  posnam.o preconvert.o
    51         $(F90C) $(DEBUG) $(OPT) -o $(BINDIR)/${EXE} ftrafo.o phgrreal.o grphreal.o rwGRIB2.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}
    5252
    5353
  • Source/Fortran/makefile_fast

    r0007a71 rdfa7dbd  
    22#
    33# Makefile for flex_extract, Fortran code to calculate etadot
     4# Makefile created using by mkmf 19.3.0
    45#
    56# Copyright: Leopold Haimberger, Petra Seibert
    67# SPDX-License-Identifier: GPL-2.0
    78#
    8 # Version for a machine with grib_api installed on standard paths
    9 # compiled for fast runs
     9# Version for a machine with grib_api and emoslib installed on standard paths
     10# full debugging
    1011#
    1112###############################################################################
    1213
    1314
    14 GRIB_API_INCLUDE_DIR=/usr/include
    15 GRIB_API_LIB=  -Bstatic  -lgrib_api_f77 -lgrib_api_f90 -lgrib_api -Bdynamic  -lm  -ljasper
    16 EMOSLIB=-lemosR64
    17 
    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-endian
    21 
    22 F90FLAGS =  -I. -I$(GRIB_API_INCLUDE_DIR)
    23 
    24 OPT = -O3
    25 
    26 BINDIR   =  .
    2715EXE      =  calc_etadot_fast.out
    2816
    29 .f.o:
    30         $(F90) -c $(F90FLAGS) $(OPT) $*.f
    31 .f90.o:
    32         $(F90) -c $(F90FLAGS) $(OPT) $*.f90
     17GRIB_API_LIB=  -Bstatic -lgrib_api_f90 -lgrib_api -Bdynamic -lm -ljasper
     18EMOSLIB=-lemosR64
     19LIB =  $(GRIB_API_LIB) $(EMOSLIB)
    3320
    34 all:    ${EXE}
     21GRIB_API_INCLUDE_DIR=/usr/include
     22INC = -I. -I$(GRIB_API_INCLUDE_DIR)
    3523
    36 clean:
    37         rm *.o *.mod #${EXE}
     24FC = gfortran
     25OPT = -O3 -march=native
     26FFLAGS =   $(OPT) $(LIB) $(INC) -fdefault-real-8 -fopenmp -fconvert=big-endian
     27LDFLAGS =  $(OPT) $(LIB) -fopenmp
     28SRC = ./rwgrib2.f90 ./calc_etadot.f90 ./ftrafo.f90 ./grphreal.f90 ./posnam.f90 ./phgrreal.f90
     29OBJ = rwgrib2.o calc_etadot.o ftrafo.o grphreal.o posnam.o phgrreal.o
     30MOD = ftrafo.mod  grtoph.mod    phtogr.mod  rwgrib2.mod
    3831
    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.
    4434
    45 rwGRIB2.o: rwGRIB2.f90
    46         $(F90) -c $(OPT) $(F90FLAGS)  rwGRIB2.f90
     35all: ${EXE}
     36ftrafo.o: ./ftrafo.f90 phgrreal.o
     37        $(FC)  $(FFLAGS)  -c    ./ftrafo.f90
     38grphreal.o: ./grphreal.f90 phgrreal.o
     39        $(FC)  $(FFLAGS)  -c    ./grphreal.f90
     40phgrreal.o: ./phgrreal.f90
     41        $(FC)  $(FFLAGS)  -c    ./phgrreal.f90
     42posnam.o: ./posnam.f90
     43        $(FC)  $(FFLAGS)  -c    ./posnam.f90
     44calc_etadot.o: ./calc_etadot.f90 phgrreal.o grphreal.o ftrafo.o rwgrib2.o
     45        $(FC)  $(FFLAGS)  -c    ./calc_etadot.f90
     46rwgrib2.o: ./rwgrib2.f90
     47        $(FC)  $(FFLAGS)  -c    ./rwgrib2.f90
    4748
    48 grphreal.o: grphreal.f
    49         $(F90) -c $(OPT)   grphreal.f
     49clean:
     50        -rm -f $(OBJ) ${EXE} $(MOD)
    5051
    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  
    2929BINDIR  =      .
    3030
    31 EXE     =      CONVERT2.s8.ifort
     31EXE     =      calc_etadot.s8.ifort
    3232
    3333
     
    5151        $(F90C) -c -g -O3 ftrafo.f
    5252
    53 $(BINDIR)/${EXE}:       phgrreal.o grphreal.o ftrafo.o rwGRIB2.o  posnam.o preconvert.o
    54         $(F90C) $(DEBUG) $(OPT) -o $(BINDIR)/${EXE} ftrafo.o phgrreal.o grphreal.o rwGRIB2.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}
    5555
    5656
  • 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
    1315   integer                            ::  n,mk,parid,nm
    1416   integer                            ::  i,k
     
    6870
    6971 kloop:  do k=1,nm
    70         if(parid .eq. mpar(k)) then
     72        if (parid .eq. mpar(k)) then
    7173!         l(k)=l(k)+1
    7274         feld(:,:,(k-1)*div+level)=reshape(values,(/maxl,maxb/))
    7375!         print*,(k-1)*div+l(k),parid
    7476         exit kloop
    75         endif
    76       enddo kloop
    77       if(k .gt. nm .and. parid .ne. mpar(nm)) then
     77        end if
     78      end do kloop
     79      if (k .gt. nm .and. parid .ne. mpar(nm)) then
    7880        write(*,*) k,nm,parid,mpar(nm)
    7981        write(*,*) 'ERROR readlatlon: parameter ',parid,'is not',mpar
    8082        stop
    81       endif
     83      end if
    8284
    8385!      print*,i
    8486   END DO iloop
    85    write(*,*) 'readlatlon: ',i-1,' records read'
     87!!   write(*,*) 'readlatlon: ',i-1,' records read'
    8688 
    8789   DO i=1,n
     
    8991   END DO
    9092 
    91    deallocate(values)
     93   if (allocated(values)) deallocate(values)
    9294   deallocate(igrib)
    9395
    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
    144148!           call grib_set(igrib,"shortName","etadot")
    145149!           call grib_set(igrib,"units","Pa,s**-1")
    146 !         endif
    147 !         if(MPAR(j) .eq. 77) then
     150!         end if
     151!         if (MPAR(j) .eq. 77) then
    148152!           call grib_set(igrib,"shortName","etadot")
    149153!           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
    176178   integer                            ::  iret
    177179   integer                            ::  n,mk,div,nm,k
     
    182184   REAL :: A(MAXLEV+1),B(MAXLEV+1),pv(2*MAXLEV+2)
    183185   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*(*):: filename                             
     186  integer:: maxl,maxb,mlevel,mstride,mpar(:),mnauf,ioffset,ipar,ilev,l(size(mpar))
     187   character*(*):: filename                             
    186188 
    187189   call grib_open_file(ifile, TRIM(FILENAME),'r')
     
    226228
    227229      call grib_get(igrib(i),'paramId',parid)
    228     nm=size(mpar)
    229     div=mlevel/nm
    230     kloop:  do k=1,nm
    231         if(parid .eq. mpar(k)) then
     230      nm=size(mpar)
     231      div=mlevel/nm
     232      kloop:  do k=1,nm
     233        if (parid .eq. mpar(k)) then
    232234         l(k)=l(k)+1
    233235         cxmn(:,(k-1)*div+l(k))=values(1:(MNAUF+1)*(MNAUF+2))
    234236!         print*,(k-1)*div+l(k),parid
    235237         exit kloop
    236         endif
     238        end if
    237239       
    238       enddo kloop
    239       if(k .gt. nm .and. parid .ne. mpar(nm)) then
     240      end do kloop
     241      if (k .gt. nm .and. parid .ne. mpar(nm)) then
    240242        write(*,*) k,nm,parid,mpar(nm)
    241243        write(*,*) 'ERROR readspectral: parameter ',parid,'is not',mpar
    242244        stop
    243       endif
     245      end if
    244246
    245247!      print*,i
     
    247249   END DO iloop
    248250
    249    write(*,*) 'readspectral: ',i-1,' records read'
     251!!   write(*,*) 'readspectral: ',i-1,' records read'
    250252 
    251253   DO i=1,n
     
    256258   deallocate(igrib)
    257259
    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
     265END MODULE RWGRIB2
  • Testing/Regression/FortranEtadot/run_regrtest.sh

    r6bc4b42 rdfa7dbd  
    99
    1010export OMP_NUM_THREADS=4 # you may want to change this
    11 export OMP_PLACES=sockets
     11export OMP_PLACES=cores
     12export OMP_DISPLAY_ENV=verbose
    1213testhome=`pwd`
    1314path1=../../../Source/Fortran/
  • Testing/Regression/FortranEtadot/runtimes.csv

    r2d1c338 rdfa7dbd  
    15150007a71, 'reference', 'latlonall_debug', 0m0.405s, 0m0.536s, 0m0.008s
    16160007a71, 'reference', 'latlonall_fast', 0m0.350s, 0m0.496s, 0m0.004s
     176bc4b42, 'reference', 'etadot_debug', 0m0.322s, 0m0.360s, 0m0.012s
     186bc4b42, 'reference', 'etadot_fast', 0m0.311s, 0m0.348s, 0m0.008s
     196bc4b42, 'reference', 'etadotall_debug', 0m0.387s, 0m0.428s, 0m0.008s
     206bc4b42, 'reference', 'etadotall_fast', 0m0.382s, 0m0.424s, 0m0.004s
     216bc4b42, 'reference', 'gauss_debug', 0m3.346s, 0m8.776s, 0m0.152s
     226bc4b42, 'reference', 'gauss_fast', 0m2.060s, 0m4.036s, 0m0.108s
     236bc4b42, 'reference', 'gaussall_debug', 0m13.690s, 0m38.840s, 0m0.292s
     246bc4b42, 'reference', 'gaussall_fast', 0m7.507s, 0m16.524s, 0m0.308s
     256bc4b42, 'reference', 'latlon_debug', 0m0.387s, 0m0.420s, 0m0.016s
     266bc4b42, 'reference', 'latlon_fast', 0m0.335s, 0m0.376s, 0m0.004s
     276bc4b42, 'reference', 'latlonall_debug', 0m0.351s, 0m0.392s, 0m0.004s
     286bc4b42, 'reference', 'latlonall_fast', 0m0.338s, 0m0.380s, 0m0.004s
     298c55c02, 'reference', 'etadot_debug', 0m0.263s, 0m0.304s, 0m0.004s
     308c55c02, 'reference', 'etadot_fast', 0m0.261s, 0m0.296s, 0m0.008s
     318c55c02, 'reference', 'etadotall_debug', 0m0.348s, 0m0.388s, 0m0.004s
     328c55c02, 'reference', 'etadotall_fast', 0m0.391s, 0m0.428s, 0m0.008s
     338c55c02, 'reference', 'gauss_debug', 0m1.985s, 0m3.940s, 0m0.104s
     348c55c02, 'reference', 'gauss_fast', 0m1.976s, 0m3.912s, 0m0.108s
     358c55c02, 'reference', 'gaussall_debug', 0m7.653s, 0m16.852s, 0m0.368s
     368c55c02, 'reference', 'gaussall_fast', 0m7.533s, 0m16.456s, 0m0.408s
     378c55c02, 'reference', 'latlon_debug', 0m0.334s, 0m0.376s, 0m0.004s
     388c55c02, 'reference', 'latlon_fast', 0m0.332s, 0m0.368s, 0m0.008s
     398c55c02, 'reference', 'latlonall_debug', 0m0.394s, 0m0.424s, 0m0.016s
     408c55c02, 'reference', 'latlonall_fast', 0m0.344s, 0m0.376s, 0m0.012s
     41
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG