StormSurgeLive / asgs

The Automated Solution Generation System (ASGS) provides software infrastructure for automating coastal ocean modelling for real time decision support, and provides a variety of standalone command line tools for pre- and post-processing.
https://asgs.sh
GNU General Public License v3.0
39 stars 22 forks source link

have asgs-brew clone and setup Nate's perl modules because they do a lot of nice adcirc-specific things. #184

Closed wwlwpd closed 4 years ago

wwlwpd commented 4 years ago

mentioned in #176

wwlwpd commented 4 years ago

@jasonfleming, I can confirm that in the current ASGS Shell environment:

asgs/PERL is included in the PERL5LIB environment, which makes AdcGrid.pm available. This can be confirmed in asgsh by running the command perl -MAdcGrid (hit ctrl-c to exit).

Also, the following scripts have all requirements fulfilled and pass the perl -c check (these are included in the verify check):

So I can confirm that these scripts are "supported". Did you wish for them to be made available in some other way at this time? If not we can close this issue, but I am also happy to implement some further concept of "supported" that you'd like to cover this issue. Thanks!

wwlwpd commented 4 years ago

BTW, here is the full output of verify which checks all Perl modules, scripts, and Python scripts:

wwlwpd commented 4 years ago

Note, require AdcGrid is not included (although implied in the perl -c checks) so I can add this explicitly to the Perl module check.

ok 1 - require IO::Socket::SSL; ok 2 - require Config::Tiny; ok 3 - require Date::Calc; ok 4 - require Date::Handler; ok 5 - require DateTime; ok 6 - require DateTime::Format::Builder; ok 7 - require Email::Sender::Simple; ok 8 - require Email::Sender::Transport::SMTP::TLS; ok 9 - require Email::Simple::Creator; ok 10 - require HTTP::Tiny; ok 11 - require List::Util; ok 12 - require Math::Trig; ok 13 - require Net::FTP; ok 14 - require Params::Validate; ok 15 - require Test::More; ok 16 - require Time::Local; ok 17 - require Try::Tiny; ok 18 - require Perl::Tidy; 1..18 verifying Perl scripts can pass compile phase (perl -c) ok ./nhc_advisory_bot.pl ok ./storm_track_gen.pl ok ./NAMtoOWIRamp.pl ok ./get_atcf.pl ok ./input/sample_advisories/advisory_xml_filler.pl ok ./input/ptFile_gen.pl ok ./control_file_gen.pl ok ./stage_discharge.pl ok ./set_flux.pl ok ./tides/tpxoBoundaryInterp.pl ok ./monitoring/disappeared.pl ok ./monitoring/hpc/goodhost_queenbee.pl ok ./monitoring/hpc/goodhost.pl ok ./monitoring/hatteras/hatteras_hs_io_error_detector.pl ok ./monitoring/hatteras/hatteras_io_error_detector.pl ok ./get_nam.pl ok ./cloud/general/asgs-brew.pl ok ./output/validation/nos-create.pl ok ./output/validation/station_transpose.pl ok ./output/validation/nos-predictions.pl ok ./output/autoplot.pl ok ./output/corps_index.pl ok ./output/parse61.pl ok ./output/asgsConvertR3ToNETCDF.pl ok ./output/adc2vtk.pl ok ./output/compile61_72.pl ok ./output/advisory_date.pl ok ./output/station_transpose.pl ok ./output/boundary_data_transpose.pl ok ./output/parse61cdl.pl ok ./output/FG49/FG49.pl ok ./output/postProcessFlux/dischargAcrossNodeString.pl ok ./output/postProcessFlux/fluxAcrossNodestrings.pl ok ./output/postProcessFlux/dischargAcrossWeirBnds.pl ok ./output/postProcessFlux/dischargAcrossInflowBnds.pl ok ./output/postProcessFlux/postProcessFlux_templateFiller.pl ok ./output/swan_convergence_analysis.pl ok ./output/kalpana_input.pl ok ./output/parse72.pl ok ./output/vortex_viz_gen.pl ok ./util/input/pressure_predict.pl ok ./util/input/mesh/subdomainNodes.pl ok ./util/input/mesh/subdomainElements.pl ok ./util/input/track_offset.pl ok ./util/input/dateCalculator.pl ok ./util/input/best2fcst.pl ok ./util/input/matching_hindcast.pl ok ./util/input/nam_fort22_gen.pl ok ./util/input/riverFlow.pl ok ./util/output/dischargAcrossNodeString.pl ok ./asgs-sendmail.pl ok ./get_flux.pl ok ./qscript.pl /home/user/python27/asgs/build/python-2.7.17/bin/python Python modules loaded ok verifying Python scripts can pass compile phase (python -m py_compile) ok ./input/meshes/common/station_list_combiner.py ok ./monitoring/thredds_disk_space.py ok ./monitoring/sendTestMessage.py ok ./monitoring/time_properties.py ok ./monitoring/properties.py ok ./monitoring/asgs-msgr.py ok ./monitoring/FortCheck.py ok ./monitoring/asgs-msgr_startup.py ok ./monitoring/asgs-msgr_SendKill.py ok ./cloud/general/t/netcdf4-tutorial.py ok ./cloud/general/t/netcdf4-bench.py ok ./cloud/general/t/verify-python-modules.py ok ./output/emailattach.py ok ./output/paraviewBathyWSE.py ok ./output/streamline.py ok ./output/unstreamline.py ok ./output/kalpana.py ok ./output/cpra_postproc/buildPPT.py ok ./output/tristreamline.py ok ./output/hwm.py ok ./output/adcirc_xml.py benchmarking and verifying netCDF4 module functionality reading and writing a 30 by 15 by 73 by 144 random array .. testing file format NETCDF3_CLASSIC ... writing took 0.3842421770095825 seconds reading took 0.09409701824188232 seconds testing file format NETCDF3_64BIT ... writing took 0.36498317718505857 seconds reading took 0.10019030570983886 seconds testing file format NETCDF4_CLASSIC ... writing took 0.2586443662643433 seconds reading took 0.5938374042510987 seconds testing file format NETCDF4 ... writing took 0.2782599687576294 seconds reading took 1.4510026454925538 seconds ok /home/user/asgs/cloud/general/t/netcdf4-bench.py works ok /home/user/asgs/cloud/general/t/netcdf4-tutorial.py works

jasonfleming commented 4 years ago

Hey Brett this looks great to me, thank you very much. Let's close this issue ... as we build critical path utilities and capabilities against these perl modules, we can explicitly add checks for them to the perl -c checks.

wwlwpd commented 4 years ago

Sounds great @jasonfleming !