diff options
author | allen <allen@5301f0c2-dbc4-4cee-b2f5-8d7afba4d129> | 2000-10-04 21:46:34 +0000 |
---|---|---|
committer | allen <allen@5301f0c2-dbc4-4cee-b2f5-8d7afba4d129> | 2000-10-04 21:46:34 +0000 |
commit | 901a20d098d0cd3f3cf13cc221fc24a22c3573a2 (patch) | |
tree | 16490089908d121ee784e940b49b2d48cf1b2012 | |
parent | e893719de4427bb0e9cc944dea20da404f49b1dd (diff) |
Files from extract are now available on the web server (HTTPDExtra)
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/Extract/trunk@24 5301f0c2-dbc4-4cee-b2f5-8d7afba4d129
-rw-r--r-- | interface.ccl | 2 | ||||
-rw-r--r-- | src/Advertise.c | 21 | ||||
-rw-r--r-- | src/Extract.F | 61 | ||||
-rw-r--r-- | src/make.code.defn | 3 |
4 files changed, 57 insertions, 30 deletions
diff --git a/interface.ccl b/interface.ccl index 6b24006..ea270ac 100644 --- a/interface.ccl +++ b/interface.ccl @@ -2,7 +2,7 @@ # $Header$ implements: extract -inherits: grid einstein +inherits: grid einstein io private: REAL temps TYPE=GF DIM=3 diff --git a/src/Advertise.c b/src/Advertise.c new file mode 100644 index 0000000..228f923 --- /dev/null +++ b/src/Advertise.c @@ -0,0 +1,21 @@ +#include "cctk.h" +#include "cctk_FortranString.h" +#include "CactusBase/IOUtil/src/ioutil_AdvertisedFiles.h" + +void CCTK_FCALL CCTK_FNAME(Extract_Advertise) + (cGH *GH, ONE_FORTSTRING_ARG) +{ + ONE_FORTSTRING_CREATE(file) + /* advertise new files for downloading */ + ioAdvertisedFileDesc advertisedFile; + + advertisedFile.slice = ""; + advertisedFile.thorn = CCTK_THORNSTRING; + advertisedFile.varname = "Waveform"; + advertisedFile.description = "Extract files"; + advertisedFile.mimetype = "application/x-graph"; + + IOUtil_AdvertiseFile (GH, file, &advertisedFile); + free(file); +} + diff --git a/src/Extract.F b/src/Extract.F index bc527b1..eddd0dc 100644 --- a/src/Extract.F +++ b/src/Extract.F @@ -26,13 +26,13 @@ c @endhistory c@@*/ - SUBROUTINE Extract(CCTK_FARGUMENTS) + SUBROUTINE Extract(CCTK_ARGUMENTS) USE D3_extract_int IMPLICIT NONE - DECLARE_CCTK_FARGUMENTS + DECLARE_CCTK_ARGUMENTS DECLARE_CCTK_PARAMETERS DECLARE_CCTK_FUNCTIONS @@ -304,35 +304,35 @@ c Open output files test_myproc1: IF (CCTK_MyProc(cctkGH) == 0 ) THEN out1 = filestr(1:nchar)//"/rsch_ini.rl" - call Extract_open(0,out1,77) + call Extract_open(cctkGH,0,out1,77) out1 = filestr(1:nchar)//"/mass_ini.rl" - call Extract_open(0,out1,78) + call Extract_open(cctkGH,0,out1,78) IF (do_ADMmass(1) == 1) THEN out1 = filestr(1:nchar)//"/ADMmass_ini.rl" - call Extract_open(0,out1,79) + call Extract_open(cctkGH,0,out1,79) ENDIF IF (do_ADMmass(2) == 1) THEN out1 = filestr(1:nchar)//"/ADMmassc_ini.rl" - call Extract_open(0,out1,80) + call Extract_open(cctkGH,0,out1,80) ENDIF IF (do_momentum == 1) THEN out1 = filestr(1:nchar)//"/momentum_x_ini.rl" - call Extract_open(0,out1,781) + call Extract_open(cctkGH,0,out1,781) out1 = filestr(1:nchar)//"/momentum_y_ini.rl" - call Extract_open(0,out1,782) + call Extract_open(cctkGH,0,out1,782) out1 = filestr(1:nchar)//"/momentum_z_ini.rl" - call Extract_open(0,out1,783) + call Extract_open(cctkGH,0,out1,783) ENDIF IF (do_spin == 1) THEN out1 = filestr(1:nchar)//"/spin_x_ini.rl" - call Extract_open(0,out1,784) + call Extract_open(cctkGH,0,out1,784) out1 = filestr(1:nchar)//"/spin_y_ini.rl" - call Extract_open(0,out1,785) + call Extract_open(cctkGH,0,out1,785) out1 = filestr(1:nchar)//"/spin_z_ini.rl" - call Extract_open(0,out1,786) + call Extract_open(cctkGH,0,out1,786) ENDIF loop_l1: DO il = lmin,lmax,lstep @@ -348,14 +348,14 @@ c Open output files fn1 = il*10+im out1 = filestr(1:nchar)//"/Qeven_ini_"// & CHAR(il+48)//CHAR(im+48)//".rl" - call Extract_open(0,out1,fn1) + call Extract_open(cctkGH,0,out1,fn1) c Only print odd-parity if full grid IF (igrid == 0) THEN fn2 = 100+il*10+im out2 = filestr(1:nchar)//"/Qodd_ini_"// & CHAR(il+48)//CHAR(im+48)//".rl" - call Extract_open(0,out2,fn2) + call Extract_open(cctkGH,0,out2,fn2) END IF END DO loop_m1 @@ -610,23 +610,23 @@ c Output extracted radius and mass spinfile3 = filestr(1:nchar)//"/spin_z_"//"R"// & CHAR(idet+48)//timestring - call Extract_write(openfile,rschfile,time,rsch) - call Extract_write(openfile,massfile,time,mass) + call Extract_write(cctkGH,openfile,rschfile,time,rsch) + call Extract_write(cctkGH,openfile,massfile,time,mass) IF (do_ADMmass(1) == 1) THEN - call Extract_write(openfile,ADMmassfile1,time,ADMmass(1)) + call Extract_write(cctkGH,openfile,ADMmassfile1,time,ADMmass(1)) END IF IF (do_ADMmass(2) == 1) THEN - call Extract_write(openfile,ADMmassfile2,time,ADMmass(2)) + call Extract_write(cctkGH,openfile,ADMmassfile2,time,ADMmass(2)) END IF IF (do_momentum == 1) THEN - call Extract_write(openfile,momentumfile1,time,momentum(1)) - call Extract_write(openfile,momentumfile2,time,momentum(2)) - call Extract_write(openfile,momentumfile3,time,momentum(3)) + call Extract_write(cctkGH,openfile,momentumfile1,time,momentum(1)) + call Extract_write(cctkGH,openfile,momentumfile2,time,momentum(2)) + call Extract_write(cctkGH,openfile,momentumfile3,time,momentum(3)) END IF IF (do_spin == 1) THEN - call Extract_write(openfile,spinfile1,cctk_time,spin(1)) - call Extract_write(openfile,spinfile2,cctk_time,spin(2)) - call Extract_write(openfile,spinfile3,cctk_time,spin(3)) + call Extract_write(cctkGH,openfile,spinfile1,cctk_time,spin(1)) + call Extract_write(cctkGH,openfile,spinfile2,cctk_time,spin(2)) + call Extract_write(cctkGH,openfile,spinfile3,cctk_time,spin(3)) END IF @@ -650,11 +650,11 @@ c Output gauge invariant variables & CHAR(im+48)//timestring c Write even parity waveforms - call Extract_write(openfile,out1,time,Qeven(:,il,im)) + call Extract_write(cctkGH,openfile,out1,time,Qeven(:,il,im)) c Only write odd parity waveforms if full grid IF (igrid == 0) THEN - call Extract_write(openfile,out2,time,Qodd(:,il,im)) + call Extract_write(cctkGH,openfile,out2,time,Qodd(:,il,im)) END IF END DO loop_m5 @@ -679,7 +679,7 @@ c Only write odd parity waveforms if full grid END SUBROUTINE Extract - SUBROUTINE Extract_open(openfile,filename,filehandle) + SUBROUTINE Extract_open(cctkGH,openfile,filename,filehandle) implicit none @@ -687,28 +687,33 @@ c Only write odd parity waveforms if full grid integer filehandle,openfile character*(*) filename + CCTK_POINTER cctkGH if (openfile==1) then OPEN(UNIT= filehandle,FILE=filename,STATUS="unknown") + call Extract_Advertise(cctkGH,filename) else OPEN(UNIT=filehandle,FILE=filename,STATUS="old",POSITION="append") end if + END SUBROUTINE Extract_open - SUBROUTINE Extract_write(openfile,filename,value1,value2) + SUBROUTINE Extract_write(cctkGH, openfile,filename,value1,value2) implicit none DECLARE_CCTK_PARAMETERS + CCTK_POINTER cctkGH CCTK_REAL value1,value2 integer openfile character*(*) filename if (openfile==1) then OPEN(UNIT= 444,FILE=filename,STATUS="unknown") + call Extract_Advertise(cctkGH,filename) else OPEN(UNIT=444,FILE=filename,STATUS="old",POSITION="append") end if diff --git a/src/make.code.defn b/src/make.code.defn index a0b7189..75fc0c8 100644 --- a/src/make.code.defn +++ b/src/make.code.defn @@ -20,7 +20,8 @@ SRCS = D2_extract_int.F \ D3_to_D2.F \ ADMmass_integrand3D.F \ momentum_integrand3D.F \ - spin_integrand3D.F + spin_integrand3D.F \ + Advertise.c # Subdirectories containing source files SUBDIRS = |