Replicate NHC-collaboration, ensemble perturbation test case for hurricane florence
Closed this issue · 14 comments
Directory on PW clustre: /home/Fariborz.Daneshvar/nhc_colab_test/florence_2018
Notebooks:
setup_n_run.ipynb
: to create ensembles of perturbed tracks (based on OFCL
track), generate SCHISM inputs, and run them.
post_ensemble.ipynb
: for post processing and plotting
Follow the instructions from this issue
@FariborzDaneshvar-NOAA Please update the status
The following issues were identified while running the setup_n_run.ipyn
notebook:
-
Restarting the (NHC COLABORATION) cluster will revoke permission of the other users to access/create files (even in their home directories).
-
Absolute to relative path conversion issue during the generation of SCHISM configurations:
The notebook worked fine with the default paths (in/lustre/hurricanes/...
) for generating SCHISM files, but it failed with a path to home directory (i.e./home/Fariborz.Daneshvar/...
) with aFileNotFoundError
for accessinghgrid.grd
file as executing thegenerate_schism_configuration()
function. @SorooshMani-NOAA created a ticket for this issue. Needs more investigation (in progress...) -
Missing
maxelev_######
files for some ensemble runs:
Six out of 15 runs (for an ensemble of 15 perturbed tracks) are missingmaxelev_######
files in theiroutputs/
directories. Based on thecheck_completion
command, five out of these six runs (including original, 6, 7, 9, and 13) finished with 99.98% (instead of 100%) completion, while run#8 with 100% completion was also missing these outputs. So it might/not be related to the status of runs! As a result, thecombine_results
command did not generatemaxele.63.nc
file, so could not run thepost_ensemble.ipynb
notebook. Needs more investigation (in progress...)
The alternate approach was using the ondemand-storm-workflow
singularity image (instead of notebooks).
I ran it for 50 ensembles on NHC_COLAB_2
cluster and unlike the previous approach (with the notebooks), all runs completed successfully.
Run_directory: /lustre/hurricanes/florence_2018_Fariborz_v1_50_ensembles
Review of outputs revealed an issue with the perturbed tracks (see issue #74 for more detail). I will re-run the model again once Soroosh resolves this issue.
I got an error for the run with BEST
track (see issue #19)
Great to hear that. thanks for the update! :-)
Update:
the perturb track issue (mentioned above) was resolved, and I ran the model with the updated singularity image:
directory: /lustre/hurricanes/florence_2018_Fariborz_v2_10_ensembles
However, review of analysis outputs revealed an inconsistency between model and surrogate validation plots (see an example below).
To ensure that it's not due to limited number of ensembles (10), I re-ran it with 39 ensembles:
New_directory: /lustre/hurricanes/florence_2018_Fariborz_v3_39_ensembles
But still got the same patterns! Will discuss it with Soroosh and William during the Ensemble Analysis meeting.
Update:
William pointed to the _analyze
function in analyze_ensemble.py, noting that node_status_mask
should be None
instead of always_wet
!
Soroosh updated the singularity image, and I re-ran only the analyze part of the workflow.sh
, but was still getting the same results. (here is an example of new analysis with k=1, p=1, and n=0.025).
It should be noted that in all three test runs, there was only one eigenvalue!
Review of maxele.63.nc
(./setup/ensemble.dir/analyze/maxele.63.nc
) does not show high elevations associated with the storm track, suggesting that storm track was not included in the SCHISM runs! (see the screenshot below).
Will discuss it with the rest of the team during the Thursday tag-up meeting.
@FariborzDaneshvar-NOAA as we discussed, I believe this should have something to do with the track input. Let's talk with @pvelissariou1 in the next meeting. My guess is that the "faked" BEST track has some missing information.
This also could be something related to how SCHISM is compiled in the container (less likely).
Actually let's try running an actual best track as well before we ask Takis.
Turning ON and OFF the --past-forecast
flag!
Directory of a run without the flag: /lustre/hurricanes/florence_2018_Fariborz_v4_15_ensembles
@SorooshMani-NOAA, similar to the previous runs, no sign of storm track is visible in the scatter plot of maxele.63.nc
:
However,
Unlike the previous runs (with the --past-forecast
flag), more than one eigenvalue was found (i.e. for linear_k1_p1_n0.025
):
Similar plot exist for linear_k1_p1_n0.025\
, but the linear_k1_p1_n0.1\
directory is empty!
@FariborzDaneshvar-NOAA so in the zoomed in landfall region plot it's still missing the floodplain? This is strange. Maybe as Takis said the issue is with how I compiled SCHISM then. Let's talk about it and see what debugging approach to take.
@SorooshMani-NOAA , yes, here is an example:
path: /lustre/hurricanes/florence_2018_Fariborz_v4_15_ensembles/setup/ensemble.dir/analyze/linear_k1_p1_n0.025/validation_vortex_4_variable_korobov_3.png
@FariborzDaneshvar-NOAA using Thalassa on PW, I see a difference if I limit the max elevation colorbar so that I can see more contrast:
OFCL track (faked as BEST) | BEST track |
---|---|
So it seems that the issue might actually be the missing data on the OFCL track that we fake as BEST. I'd like to note here that we don't set the PaHM model in SCHISMS param.nml
here and it's using the default model (i.e. GAHM)
I also see the hurricane signal in the BEST track run (original):
The fact that we have multiple eigenvalues is also a good sign, however I don't understand why we don't get the correct exceedance plots here
These issues will be investigated in separate tickets as follow:
- Different inundation maps for the surrogate and model of hurricane Florence
- No sign of storm track in runs with OFCL (faked as BEST) track (Resolved. See ticket updates)
- Setup and run PaHM for BEST and OFCL tracks of florence (Resolved. See ticket updates)