...
The following command will create a IMs.csv
file that should be copied to the private/data/eventname/doc/
directory on the SeisFinder server. It does also create a number of single station csv on a directory called ./IMs_per_station/
that should be copied to private/data/eventname/seismo/
directory on the server, as they will be provided to the users on the zip file
Code Block |
---|
pushd /home/nesi00213/post-processing/examples/ python export_IM_csv.py /home/nesi00213/RealTime/eventname/GM/Sim/Data/path_to/station_file.ll /home/nesi00213/RealTime/eventname/GM/Sim/Data/BB/Vel /home/nesi00213/RealTime/eventname/GM/Sim/Data/IMs.csv full_csv popd |
Important: run 'source path.sh' before running other steps. If the running folder was not created follow the wiki page Real-time Ground Motion Simulation Setup
Source_map
plot_srf_map.py src_model.srf
Code Block language bash $plot_srf_map.py Ian02_s103245.srf
Source_square
plot_srf_square.py src_model.srf
Code Block language bash plot_srf_square.py Ian02_s103245.srf
Vs30StationMap
note: this step requires observation generated, please follow the wiki page referring How to create observation files
*uses non_uniform_grid and prune out the virtual stations manually if you are making document for future event.
plot_vs30.py root_simulation_dirCode Block language bash plot_vs30.py /home/nesi00213/RealTime/20161213_Kaikoura_m7p8_201705301501
ObsTimeSeriesOnMap
note: this step requires observation generated, please follow the wiki page referring How to create observation files
plot_obs.py sim_folderCode Block language bash plot_obs.py .
PNG_timeslices
plot_ts.py processes
Code Block language bash plot_ts.py 30
note: if files missing, try looking at the realtime sim wikipage referencing "plot_transfer.py auto"
Code Block plot_transfer.py auto folder_path_on_fitz local_path user_on_fitzroy $plot_transer.py auto /nesi/projects/nesi00213/RunFolder/baes/AlpineFault_Rupture_VMSI_v1p65_200m-h0p200_EMODv3p0p4_170531_s2n/ . ykh22
important: the original plot_ts.py will combine all ts.png into a mov file and delete all the png files. MUST modify the code so that it will not delete the time slices.Code Block title Comment out the rm line # temporary files can be quite large rmtree(gmt_temp) #rmtree(png_dir)
*below is a example if you just want to plot specific ts without producing the movie file.
* you will need at least 10 time slices for the documentCode Block title Plot specific TS pool = mp.Pool(processes) #pool.map(render_slice, xrange(xyts.t0, xyts.nt - xyts.t0)) pool.map(render_slice, [120,330,550,700,800,910,1000,1200,1500,1600]) print('FINISHED TIMESLICE SEGMENT IN %.2fs' % (time() - ts0)) print('AVERAGE TIMESLICE TIME %.2fs' % \ ((time() - ts0) / (xyts.nt - xyts.t0))) # images -> animation #make_movie('%s/ts%%04d.png' % (png_dir), \ # os.path.join(base_dir, 'animation.mov'), fps = 20) # temporary files can be quite large rmtree(gmt_temp) #rmtree(png_dir)
PGV and MMI
The below command needs to be run from the same folder as params_base.py is in. It is normally located in $root_dir/GM/Sim/Data
plot_ts_sum.py
Code Block language bash plot_ts_sum.py
Once this is done, please reduce the size of the PGV.png to a new file called pgv-small.png. This is the front page image and should be in GM/. The code using convert is:
Code Block language bash convert PGV.png -resize 20x20% pgv-small.png
Post-processing related plots
note: this step requires observation generated, please follow the wiki page referring How to create observation files
1.Create (or copy from template) a config file: post-processing_config.cfgCode Block title post-processing_config.cfg [files] outputDirectory = /home/nesi00213/RealTime/YYYYMMDD_EVENT_NAME_mXpX_YYYYMMDDHHmm/GM/Validation/ srfFile = /home/nesi00213/RealTime/YYYYMMDD_EVENT_NAME_mXpX_YYYYMMDDHHmm/Src/Model/YYYYMMDD_EVENT_NAME_mXpX/t2/Ian02_s103245.srf stationFile = /home/nesi00213/RealTime/YYYYMMDD_EVENT_NAME_mXpX_YYYYMMDDHHmm/Stat/YYYYMMDD_EVENT_NAME_mXpX/YYYYMMDD_EVENT_NAME_mXpX.ll velSimDir = /home/nesi00213/RealTime/YYYYMMDD_EVENT_NAME_mXpX_YYYYMMDDHHmm/GM/Sim/Data/BB/Vel/ dbLocation = /home/nesi00213/RealTime/YYYYMMDD_EVENT_NAME_mXpX_YYYYMMDDHHmm/GM/Validation/database.db siteClassFile = /nesi/projects/nesi00213/Pre-processing/RegionalSeismicityTectonics/Sept42010GmMetadata.ll vs30File = /home/nesi00213/RealTime/YYYYMMDD_EVENT_NAME_mXpX_YYYYMMDDHHmm/Stat/YYYYMMDD_EVENT_NAME_mXpX/YYYYMMDD_EVENT_NAME_mXpX.vs30 velObsDir = /home/nesi00213/RealTime/RealTimeYYYYMMDD_EVENT_NAME_mXpX_YYYYMMDDHHmm/GM/Obs/Data/velBB runName = RealTimeYYYYMMDD_EVENT_NAME_mXpX_YYYYMMDDHHmm [plotGMPE] DistMin = 1.0 DistMax = 100 nval = 51 vs30Default = 250.0, rake = ERROR:PLEASE_SET Rtvz = 0 Mw = ERROR:PLEASE_SET Ztor = ERROR:PLEASE_SET model = 1 dip = ERROR:PLEASE_SET [plotSeismogram] normalize = True magnify = 3.0 [calcIM] plotGMPE = True recalculateGMPE = False recalculateIMs = False calculateRRups = True calcIM = 3 [plotTimeSeries] gapStations = 5 nLimit = 5 tmax = 200 stationsToPlot = [] subdir = waveforms gapObsSim = 2 [plotIM] ImName = PGA,pSA,PGV,Ds575,Ds595,AI,CAV pSAStations = [] pSAPlotCommonAxisLimits = False unknown = D pSAPeriod = 0.1,0.2,0.5,1.0,3.0,10.0 siteClassMarkers = False
2.Edit all the file directory to the correct folder. – it will error if you don't change all of the paths above.
3a) If you are running a RealTime simulation:python /home/nesi00213/post-processing/examples/run_default_plots.py path_to_config_file
Code Block python /home/nesi00213/post-processing/examples/run_documentationdefault_plots.py /home/nesi00213/RealTime/20161213_Kaikoura_m7p8_201705301501/GM/Validation/post-processing_config.cfg
3b) If you are running a future event simulation:
python /home/nesi00213/post-processing/examples/run_simulation_plots.py path_to_config_file
Code Block python /home/nesi00213/post-processing/examples/run_simulation_plots.py /home/nesi00213/RealTime/20161213_Kaikoura_m7p8_201705301501/GM/Validation/post-processing_config.cfg
* important: must edit the stationsToPlot if simulation used non-uniform grid. Otherwise it will plot all the virtual stations
* for future events, which mean there is not observation data
Spatial Distribution
note:this must be done after post-processing
1.cd GM/Validation/Data. There should exist two .ll files PGV and pSA
2.plot the files using plot_stations.pyCode Block plot_stations.py stat_ratios_PGV_20161213_Amberley_m7p8_201705301501.ll [path_to_output_directory_optional]IMs # this will write the images to IMs relative directory plot_stations.py stat_ratios_pSA_20161213_Amberley_m7p8_201705301501.ll [path_to_output_directory_optional] pSA # this will write the images to pSA relative directory
Note: new formate format of config will have IM instead of PGV, 6 file instead of 1. pick the first one and ignore the rest.
...