Changeset 1404 for trunk/UTIL/SPECTRA
- Timestamp:
- Mar 31, 2015, 6:03:30 PM (10 years ago)
- Location:
- trunk/UTIL/SPECTRA
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/UTIL/SPECTRA/makefile
r1402 r1404 12 12 TMP=$(SRCS:=~) 13 13 14 all: spectra_analysis test_harmonic 15 14 16 %.o: %.f90 15 17 $(FC) $(FFLAGS) -c $< -
trunk/UTIL/SPECTRA/readme
r1402 r1404 1 >>>> install (64b) spherepack 3.2 library with pgf902 (g95, ifort,gfortran... not possible yet)1 >>>> install spectra tool and spherepack 3.2 library with pgf90 or ifort 2 (g95,gfortran... not possible yet) 3 3 4 4 wget -c https://www2.cisl.ucar.edu/sites/default/files/spherepack3.2.tar … … 6 6 cd spherepack3.2 7 7 8 > install9 for pgf90, after discussion with Richard A. Valent (valent@ucar.edu), change line 12 of make.inc in spherepack3.2 folder:10 F90 := pgf90 -module ../lib -I../lib8 >>>> install spherepack 3.2 library 9 >for pgf90, after discussion with Richard A. Valent (valent@ucar.edu), change line 12 of make.inc in spherepack3.2 folder: 10 F90 := pgf90 -module ../lib -I../lib 11 11 and replace by 12 F90 := pgf90 -r8 -module ../lib -I../lib12 F90 := pgf90 -r8 -module ../lib -I../lib 13 13 to run in double precision (better). 14 14 15 make all > log_install 2>&1 15 >for ifort: 16 change line 10 to 20 of make.inc 17 ifeq ($(PGI),pgf90-Warning-No files to process) 18 19 F90 := pgf90 -module ../lib -I../lib 20 CPP := pgf90 -E 21 22 else 23 24 F90 := g95 -DG95 -g -fmod=../lib -I../lib 25 CPP := g95 -E -DG95 26 27 endif 28 and replace by 29 F90 := ifort -r8 -module ../lib -I../lib 30 CPP := ifort -fpp 31 change line 16 of test/Makefile 32 $(F90) $< -o $@ -L../lib -l spherepack 33 and replace by 34 $(F90) $< -o $@ -L../lib -lspherepack 35 36 37 > make all > log_install 2>&1 16 38 17 39 > OK 'lib' ,... are in /planeto/milmd/library/spherepack/spherepack3.2_levan_pgf90 18 40 19 41 20 >>>> compile spectra_analysis program with pgf90 or g9542 >>>> compile spectra_analysis program with pgf90 or ifort 21 43 22 44 cd .. 23 45 24 46 change the first 3 lines of the makefile: path of spherepack library you have just installed, path of netcdf libray, compiler 25 netcdfpath=/planeto/milmd/library/netcdf/netcdf-4.0.1_levan_pgf90 26 spherepackpath=/planeto/milmd/library/spherepack/spherepack3.2_levan_pgf90 27 FC=pgf90 47 netcdfpath=/planeto/milmd/library/netcdf/netcdf-4.0.1_levan_pgf90 (on levan) 48 netcdfpath=/smplocal/pub/NetCDF/4.1.3/seq (on ada) 49 netcdfpath=/usr/local (on gnome) 50 spherepackpath=/path/to/spherepack3.2 51 FC=pgf90 or ifort 28 52 29 53 make spectra_analysis 54 55 >>>>> test on some harmonic cases 56 57 > compile test program 58 make test_analysis 59 60 > create harmonic winds 61 ./test_analysis 62 63 > compute kinetic energy spectrum for one harmonic 64 ./spectra_analysis harmonic_64x48_lmdz_22.nc -alt none -time none -o harmonic_64x48_lmdz_22_spectra 65 -
trunk/UTIL/SPECTRA/spectra_analysis.f90
r1402 r1404 132 132 print*,'[-lat str]\t: name of latitude field in netcdf file' 133 133 print*,'[-lon str]\t: name of longitude field in netcdf file' 134 print*,'[-alt str]\t: name of altitude field in netcdf file. \'none\' if no altitude axis.'135 print*,'[-time str]\t: name of time field in netcdf file. \'none\' if no time axis.'134 print*,'[-alt str]\t: name of altitude field in netcdf file. ''none'' if no altitude axis.' 135 print*,'[-time str]\t: name of time field in netcdf file. ''none'' if no time axis.' 136 136 print*,'[-divrot]\t: total, divergence and vorticity spectra coefficient in output file' 137 137 stop 'End help' … … 166 166 else 167 167 print*,'latitude dimension not found!' 168 stop ' must have this... use \'-lat latitudefieldname\' option.'168 stop ' must have this... use ''-lat latitudefieldname'' option.' 169 169 end if 170 170 … … 180 180 else 181 181 print*,'longitude dimension not found!' 182 stop ' must have this... use \'-lon longitudefieldname\' option.'182 stop ' must have this... use ''-lon longitudefieldname'' option.' 183 183 end if 184 184 … … 197 197 else 198 198 print*,'altitude dimension not found!' 199 stop ' if no altitude axis, use \'-alt none\' option...'199 stop ' if no altitude axis, use ''-alt none'' option...' 200 200 end if 201 201 end if … … 215 215 else 216 216 print*,'time dimension not found!' 217 stop ' if no time axis, use \'-time none\' option...'217 stop ' if no time axis, use ''-time none'' option...' 218 218 end if 219 219 end if … … 295 295 else 296 296 print*,'zonal wind variable not found!' 297 stop ' must have this... use \'-u zonalwindfieldname\' option.'297 stop ' must have this... use ''-u zonalwindfieldname'' option.' 298 298 end if 299 299 … … 324 324 else 325 325 print*,'meridional wind variable not found!' 326 stop ' must have this... use \'-v meridionalwindfieldname\' option.'326 stop ' must have this... use ''-v meridionalwindfieldname'' option.' 327 327 end if 328 328 … … 542 542 number_config = (t-1)*n_indz+z 543 543 if (is_div_rot) then 544 write(10,'(e1 2.6E2,a4,e12.6E2,a4,e12.6E2,a6)',advance='no') spectra_config(j,number_config),' ',&544 write(10,'(e13.6E2,a4,e13.6E2,a4,e13.6E2,a6)',advance='no') spectra_config(j,number_config),' ',& 545 545 spectra_b_config(j,number_config),' ',spectra_c_config(j,number_config),' ' 546 546 else 547 write(10,'(e1 2.6E2,a38)',advance='no') spectra_config(j,number_config),' '547 write(10,'(e13.6E2,a38)',advance='no') spectra_config(j,number_config),' ' 548 548 end if 549 549 end do
Note: See TracChangeset
for help on using the changeset viewer.