Giter VIP home page Giter VIP logo

icewatch's Introduction

General ICEWATCH Information

This is the Norwegian Meterological Institute fork of the Icewatch system, originally developed at the Geographic Information Network of Alaska.

Icewatch is the rails application to help with data collection for ice observations.
See the https://icewatch.met.no website for details.

This is distributed as a JRuby application called ASSIST.

installing the python module for assist 2 aspect conversions

cd to the python directory and run

<path_to_systempython>/python2.7 setup.py install or develop if you wish to modify the python code

Building distributable ASSIST java app

A vagrant box is provided to build the distributable ASSIST java app for Windows, Mac, and Linux.

Start the VM:

$ vagrant up

Then run these commands which will also be echoed by the vagrant up command:

1) vagrant ssh
2) gem install bundler
3) cd /assist
4) bundle install
5) export RAILS_ENV=production
6) bundle exec rake assist:package

Developing on the webapp

see README-deploy-icewatch.rst

Set admins

rake admin:user will set logged in users as the admins

Manual bundle of assist launcher zip archive

cd exports zip -r ASSIST_v4.1.zip * cd ../public rm ASSIST_v4.1.zip mv ../exports/ASSIST_v4.1.zip ./

icewatch's People

Contributors

smacfarlane avatar rwspicer avatar alistaireverett avatar jdelamere avatar teknofire avatar onudson avatar dayne avatar

Watchers

James Cloos avatar  avatar

icewatch's Issues

Maps not working

Alaskamapped wms server no longer available. Need to transition to a new wms server.

L31- 34 in app/assets/javascripts/cruises.js.coffee:

 L.tileLayer.wms('http://wms.alaskamapped.org/gina/bdl?GOGC=22F4942A5CC6',`
   layers: 'BestDataAvailableLayer'
   format: 'image/jpeg'
   continuousWorld: true).addTo(map)

Handling blank observations in ASSIST

If an observation is started, but no data is entered, and attempt to delete the observation will lead to an error saying "We are sorry, but something went wrong."

The observation can be deleted if information is entered in the required fields and then saved.

This behaviour is a little intuitive for the user. We should consider finding a way to allow empty observations to be deleted, or catch the error and inform the user that they need to complete a minimum of fields to allow them to delete the observation.

'Members' can't view unapproved observations

The 'member' user level can't see unapproved observations, this means it can be confusing when uploading observations to a cruise, and can lead to uploading the same thing twice.

This could be as simple as changing the permissions in the ability model, but this will need testing.

if user.has_role? :member
can :create, Cruise
can :import, Cruise, id: user_cruises(user)
can :import, Observation, cruise_id: user_cruises(user)
can :read, Cruise, approved: true
can :read, Cruise, id: user_cruises(user)
can :read, Observation, status: 'accepted'
can :read, User, id: user.id
can :create, UploadedFile, cruise_id: user_cruises(user)
# Members can create cruises
# Members can upload observations
# Members can perform guest actions
end

Photo upload not working

From Alaska team:

There is a serious bug in the implementation of photo saving in ASSIST. Photos saving is completely broken on the windows version. For mac and linux you will find that photos saved to observations do not remain linked to if you quick the assist launcher and restart. There is a bug with temporary links in the database becoming lost on relaunch. Unfortunately we are out of funding and cannot fix this bug at the moment. In the meantime we recommend that you save photographs with a file name (or log) that identifies the observation and view of the photograph. For example name the photographs by ship, date, time and view as in polarstern_20180701_1400_port.jpg. You can upload photographs to the database at icewatch.gina.alaska.edu. Please follow the upload directions, appendix D of the Ice Watch Manual, in exact order presented. Our apologies for this inconvenience. We would like to fix this unfortunate bug and develop upload of a full ASSIST download zip file, including linked photographs, in the future should funding come our way.

Temperatures as integers or floats?

Commit ea6760d in 2014 allowed floats for temperatures

Databases were set to up allow floats see

t.float :air_temperature
t.float :water_temperature

However, ASSIST still seems to limit this to integer values

= m.number_field :air_temperature, label: 'Air Temperature (nearest degree C)', data: {constraint: 'integer'}
= m.number_field :relative_humidity, label: 'Relative Humidity (nearest %)', data: {constraint: 'integer'}

Follow up with previous icewatch team to see if this is something we can fix or whether there was a reason for this

ASSIST doesn't work with jdk-12.0.2

An ASSIST user reported the following error in the browser when accessing localhost:8080 after launching ASSIST:

load error: /tmp/jetty-0.0.0.0-8080-ASSIST.war-_-any-11635503305514083697.dir/webapp/WEB-INF/config/environment -- java.lang.IllegalAccessException: Can not set static final boolean field javax.crypto.JceSecurity.isRestricted to java.lang.Boolean from org/jruby/RubyKernel.java:959:in require' from uri:classloader:/jruby/rack/rails/environment3.rb:25:in load_environment' from uri:classloader:/jruby/rack/rails_booter.rb:83:in `load_environment' from <script>:1:in <main>'

This appears to be a compatibility issue with jdk>12.0.x, the issue was solved by downgrading to jdk 11.0.x.

Ref: jruby/jruby#4101

We should decide whether to address this or focus on transitioning to docker.

Ice algae recording in ASSIST

From the Alaska team:

Ice algae reporting is not fully compatible with ASPeCt standards in ASSIST_v4.1. In ASPeCt it is possible to record ice algae densities, brown ice observation, for a single ice type at three levels (Primary-top, Secondary-middle, Tertiary-bottom) in the ice. In ASSIST the observer must choose one of these levels to report the algae density. In the Arctic algae is typically found on the base of ice. We recommend Arctic observers report the level with the highest algae density. For observers interested in recording ASPeCt-style brown ice observations we recommend recording the three digit ASPeCt code in the note0 field. When we have secured funding for an update to ASSIST, we will fix this "feature".

Decimal handling in lat/lon entry in ASSIST

From Alaska team:

One feature to pay attention to is how latitude and longitude are input in ASSIST. There is an option to input degrees, minutes and seconds. You can input decimal degrees by only using the degrees input box. To input degrees and minutes, you can input minutes with fractional decimal places but pay attention to only enter degrees in whole numbers. If you input degrees, minutes and seconds ensure that degrees and minutes are given in whole numbers with no fractional values. It is a feature of ASSIST to convert the geographic positions into decimal degrees.

Possibly consider writing some checks/user warnings to make sure these criteria are met, or make the info next to the boxes clearer.

Redirect when editing observations

Would be better if "exit" options after editing observations redirected to cruise not to home, but need to check if this affects ASSIST.

"View cruise as..." exporting

User comments suggest "View cruise as [CSV/JSON]" is misleading, as it only exports the metadata for the cruise. The full data csv/json is accessed with the "Export" options.

Perhaps rename this option to "Export cruise metadata as:" or similar.

Upgrade various packages

Upgrading to Postgresql-11 leads to the following error when running tests:

ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR: column "increment_by" does not exist
LINE 1: ...ions_id_seq"', (SELECT COALESCE(MAX("id")+(SELECT increment_...
^
: SELECT setval('"public"."ice_observations_id_seq"', (SELECT COALESCE(MAX("id")+(SELECT increment_by FROM "public"."ice_observations_id_seq"), (SELECT min_value FROM "public"."ice_observations_id_seq")) FROM "ice_observations"), false)

Solutions:

Error when setting date/time for new cruise.

This warning appears in the browser console when editing the 'Starts at' or 'Ends at' fields on the 'Create Cruise' page in ASSIST.

Uncaught Error: datetimepicker component should be placed within a relative positioned container
    at O (application-67b7ad07bf83b8727e1fefdd178762a3faf3f97a56dc5283b51e5def72c37773.js:20)
    at HTMLInputElement.rt (application-67b7ad07bf83b8727e1fefdd178762a3faf3f97a56dc5283b51e5def72c37773.js:20)
    at HTMLInputElement.dispatch (application-67b7ad07bf83b8727e1fefdd178762a3faf3f97a56dc5283b51e5def72c37773.js:2)
    at HTMLInputElement._.handle (application-67b7ad07bf83b8727e1fefdd178762a3faf3f97a56dc5283b51e5def72c37773.js:2)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.